Advertisement
thieumao

Sort in ArrrayList

Aug 27th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.23 KB | None | 0 0
  1. package xuly;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.Comparator;
  6.  
  7. import base.CanBo;
  8. import detail.GiangVien;
  9. import detail.NhanVien;
  10.  
  11. public class XuLy {
  12.  
  13.     public static void timKiem(ArrayList<CanBo> dsCanBo, String hoTen, String phongBan) {
  14.         int dem = 0;
  15.         for (int i = 0; i < dsCanBo.size(); i++) {
  16.             if (dsCanBo.get(i).getClass() == NhanVien.class) {
  17.                 NhanVien nhanVien = (NhanVien) dsCanBo.get(i);
  18.                 String hoTenNhanVien = nhanVien.getHoTen().toLowerCase();
  19.                 String phongBanNhanVien = nhanVien.getPhongBan().toLowerCase();
  20.                 if (hoTenNhanVien.contains(hoTen.toLowerCase()) && phongBanNhanVien.equals(phongBan.toLowerCase())) {
  21.                     dem++;
  22.                     System.out.println(">> Nhan vien thu " + dem);
  23.                     nhanVien.xuat();
  24.                 }
  25.             }
  26.         }
  27.         if (dem == 0) {
  28.             System.out.println(">>>>> Khong tim thay nhan vien nao <<<<<");
  29.         }
  30.     }
  31.  
  32.     public static void xuatGiangVien(ArrayList<CanBo> dsCanBo) {
  33.         int dem = 0;
  34.         ArrayList<GiangVien> dsGiangVien = new ArrayList<GiangVien>();
  35.         for (int i = 0; i < dsCanBo.size(); i++) {
  36.             if (dsCanBo.get(i).getClass() == GiangVien.class) {
  37.                 dem++;
  38.                 GiangVien giangVien = (GiangVien) dsCanBo.get(i);
  39.                 dsGiangVien.add(giangVien);
  40.             }
  41.         }
  42.         if (dem == 0) {
  43.             System.out.println(">>>>> Khong tim thay giang vien nao <<<<<");
  44.         } else {
  45.             xuatDanhSachGiangVienDaSapXep(dsGiangVien);
  46.         }
  47.     }
  48.    
  49.     private static void xuatDanhSachGiangVienDaSapXep(ArrayList<GiangVien> dsGiangVien) {
  50.         Collections.sort(dsGiangVien, new Comparator<GiangVien>() {
  51.             @Override
  52.             public int compare(GiangVien gv1, GiangVien gv2) {
  53.                 if (gv1.getHoTen().compareTo(gv2.getHoTen()) > 0) {
  54.                     return 1;
  55.                 } else {
  56.                     if (gv1.getHoTen().compareTo(gv2.getHoTen()) == 0) {
  57.                         if (gv1.getLuong() < gv2.getLuong()) {
  58.                             return 1;
  59.                         } else if (gv1.getLuong() > gv2.getLuong()) {
  60.                             return -1;
  61.                         }
  62.                         return 0;
  63.                     } else {
  64.                         return -1;
  65.                     }
  66.                 }
  67.             }
  68.         });
  69.         int soGiangVien = dsGiangVien.size();
  70. //      // sap xep theo tu dien
  71. //      for (int i = 0; i < soGiangVien - 1; i++) {
  72. //          for (int j = i + 1; j < soGiangVien; j++) {
  73. //              if (dsGiangVien.get(i).getHoTen().compareTo(dsGiangVien.get(j).getHoTen()) > 0) {
  74. //                  GiangVien temp = dsGiangVien.get(i);
  75. //                  dsGiangVien.set(i, dsGiangVien.get(j));
  76. //                  dsGiangVien.set(j, temp);
  77. //              }
  78. //          }
  79. //      }
  80. //      // sap xep theo tu dien theo luong
  81. //      for (int i = 0; i < soGiangVien - 1; i++) {
  82. //          for (int j = i + 1; j < soGiangVien; j++) {
  83. //              if (dsGiangVien.get(i).getHoTen().compareTo(dsGiangVien.get(j).getHoTen()) == 0) {
  84. //                  if (dsGiangVien.get(i).getLuong() < dsGiangVien.get(j).getLuong()) {
  85. //                      GiangVien temp = dsGiangVien.get(i);
  86. //                      dsGiangVien.set(i, dsGiangVien.get(j));
  87. //                      dsGiangVien.set(j, temp);
  88. //                  }
  89. //              }
  90. //          }
  91. //      }
  92.         for (int i = 0; i < soGiangVien; i++) {
  93.             System.out.println(">> Giang vien thu " + (i+1));
  94.             GiangVien giangVien = dsGiangVien.get(i);
  95.             giangVien.xuat();
  96.         }
  97.     }
  98.    
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement