Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TestJava {
- public static void main(String args[]) {
- List<PhoneModel> listReturn=new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- PhoneModel model=new PhoneModel();
- model.setFirstName(".");
- model.setMiddleName("Петрович"+i);
- model.setLastName("Family1");
- model.setCheckNumber(141111414);
- if (i==1) {
- model.setFirstName(" 1");
- model.setLastName("Family100");
- }
- if (i==2) {
- model.setFirstName(" 2");
- model.setLastName("Family2");
- }
- if (i==3) {
- model.setFirstName("");
- model.setLastName("Family10000");
- }
- if (i==4) {
- model.setFirstName(" 4");
- model.setLastName("Family4");
- }
- if (i==5) {
- model.setFirstName(" 5");
- model.setLastName("Family5");
- }
- listReturn.add(model);
- }
- Collections.sort(listReturn, new ComparatorSort(true));
- }
- }
- public class ComparatorSort implements Comparator<PhoneModel> {
- private boolean byFirstName;
- private String strA,strB;
- private Collator collator;
- public ComparatorSort(boolean byFirstName) {
- this.byFirstName=byFirstName;
- collator=Collator.getInstance(Locale.getDefault());
- }
- @Override
- public int compare(PhoneModel o1, PhoneModel o2) {
- if (byFirstName) {
- strA = o1.getFirstName().toLowerCase();
- strB = o2.getFirstName().toLowerCase();
- } else {
- strA = o1.getLastName().toLowerCase();
- strB = o2.getLastName().toLowerCase();
- }
- if (strA.isEmpty()) {
- System.out.println(o1.getMiddleName());
- return 100;
- } else {
- System.out.println(o1.getMiddleName());
- return collator.compare(strA, strB);
- }
- //return collator.compare(strA,strB);
- }
- }
- public class PhoneModel implements Cloneable, Serializable {
- private String id;
- private String firstName="";
- private String lastName="";
- private String middleName="";
- private List<String> listNumber;
- private int checkNumber=0;
- public String getMiddleName() {
- return middleName;
- }
- public void setMiddleName(String middleName) {
- this.middleName = middleName;
- }
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
- public PhoneModel() {
- this.listNumber = new ArrayList<>();
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public List<String> getListNumber() {
- return listNumber;
- }
- public int getCheckNumber() {
- return checkNumber;
- }
- public void setCheckNumber(int checkNumber) {
- this.checkNumber = checkNumber;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement