Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.45 KB | None | 0 0
  1. public class TestJava {
  2.  
  3.     public static void main(String args[]) {
  4.         List<PhoneModel> listReturn=new ArrayList<>();
  5.  
  6.         for (int i = 0; i < 10; i++) {
  7.             PhoneModel model=new PhoneModel();
  8.             model.setFirstName(".");
  9.             model.setMiddleName("Петрович"+i);
  10.             model.setLastName("Family1");
  11.             model.setCheckNumber(141111414);
  12.             if (i==1) {
  13.                 model.setFirstName(" 1");
  14.                 model.setLastName("Family100");
  15.             }
  16.             if (i==2) {
  17.                 model.setFirstName(" 2");
  18.                 model.setLastName("Family2");
  19.             }
  20.             if (i==3) {
  21.                 model.setFirstName("");
  22.                 model.setLastName("Family10000");
  23.             }
  24.             if (i==4) {
  25.                 model.setFirstName(" 4");
  26.                 model.setLastName("Family4");
  27.             }
  28.             if (i==5) {
  29.                 model.setFirstName(" 5");
  30.                 model.setLastName("Family5");
  31.             }
  32.             listReturn.add(model);
  33.         }
  34.  
  35.         Collections.sort(listReturn, new ComparatorSort(true));
  36.     }
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47. public class ComparatorSort implements Comparator<PhoneModel> {
  48.     private boolean byFirstName;
  49.     private String strA,strB;
  50.     private Collator collator;
  51.  
  52.     public ComparatorSort(boolean byFirstName) {
  53.         this.byFirstName=byFirstName;
  54.         collator=Collator.getInstance(Locale.getDefault());
  55.     }
  56.  
  57.     @Override
  58.     public int compare(PhoneModel o1, PhoneModel o2) {
  59.         if (byFirstName) {
  60.             strA = o1.getFirstName().toLowerCase();
  61.             strB = o2.getFirstName().toLowerCase();
  62.         } else {
  63.             strA = o1.getLastName().toLowerCase();
  64.             strB = o2.getLastName().toLowerCase();
  65.         }
  66.  
  67.         if (strA.isEmpty()) {
  68.             System.out.println(o1.getMiddleName());
  69.             return 100;
  70.         } else {
  71.             System.out.println(o1.getMiddleName());
  72.             return collator.compare(strA, strB);
  73.         }
  74.         //return collator.compare(strA,strB);
  75.     }
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90. public class PhoneModel implements Cloneable, Serializable {
  91.     private String id;
  92.     private String firstName="";
  93.     private String lastName="";
  94.     private String middleName="";
  95.     private List<String> listNumber;
  96.     private int checkNumber=0;
  97.  
  98.     public String getMiddleName() {
  99.         return middleName;
  100.     }
  101.  
  102.     public void setMiddleName(String middleName) {
  103.         this.middleName = middleName;
  104.     }
  105.  
  106.     @Override
  107.     public Object clone() throws CloneNotSupportedException {
  108.         return super.clone();
  109.     }
  110.  
  111.     public PhoneModel() {
  112.         this.listNumber = new ArrayList<>();
  113.     }
  114.  
  115.     public String getLastName() {
  116.         return lastName;
  117.     }
  118.  
  119.     public void setLastName(String lastName) {
  120.         this.lastName = lastName;
  121.     }
  122.  
  123.     public String getId() {
  124.         return id;
  125.     }
  126.  
  127.     public void setId(String id) {
  128.         this.id = id;
  129.     }
  130.  
  131.     public String getFirstName() {
  132.         return firstName;
  133.     }
  134.  
  135.     public void setFirstName(String firstName) {
  136.         this.firstName = firstName;
  137.     }
  138.  
  139.     public List<String> getListNumber() {
  140.         return listNumber;
  141.     }
  142.  
  143.     public int getCheckNumber() {
  144.         return checkNumber;
  145.     }
  146.  
  147.     public void setCheckNumber(int checkNumber) {
  148.         this.checkNumber = checkNumber;
  149.     }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement