1. 程式人生 > 實用技巧 >字母排序,物件欄位排序

字母排序,物件欄位排序

字母排序

1         List list = new ArrayList();
2         list.add("fdd");
3         list.add("bbc");
4         list.add("bac");
5         list.add("abc");
6         Collections.sort(list);
7         Iterator iterator2 = list.iterator();
8         while (iterator2.hasNext()) System.out.println(iterator2.next());
1         for (int i = 0; i < list.size(); i++) {
2             System.out.println(list.get(i));
3         }

實體類中某個欄位按字母排序,並“other"欄位排最後:

 1         List<EntityA> l = new ArrayList<>();
 2         List<EntityA> l1 = new ArrayList<>();
 3         List<EntityA> l2 = new
ArrayList<>(); 4 List<EntityA> l3 = new ArrayList<>(); 5 EntityA a1 = new EntityA(); 6 a1.setTa("51"); 7 a1.setTb("阿布"); 8 a1.setTc("other"); 9 a1.setTd("dkwoiweoiei"); 10 EntityA a = new EntityA(); 11 a.setTa("51");
12 a.setTb("阿布"); 13 a.setTc("bbc"); 14 a.setTd("dkwoiweoiei"); 15 EntityA b = new EntityA(); 16 b.setTa("12"); 17 b.setTb("保持"); 18 b.setTc("zba"); 19 b.setTd("ddssw"); 20 EntityA c = new EntityA(); 21 c.setTa("26"); 22 c.setTb("尺寸"); 23 c.setTc("qwe"); 24 c.setTd("adw"); 25 26 l.add(a); 27 l3.add(a1); 28 l1.add(c); 29 l2.add(b); 30 l.addAll(l1); 31 l2.addAll(l); 32 l3.addAll(l2); 33 Iterator<EntityA> iterator = l3.iterator(); 34 EntityA otherTc = null; 35 while (iterator.hasNext()) { 36 EntityA entityA = iterator.next(); 37 if (entityA.getTc().equals("other")) { 38 otherTc = entityA; 39 iterator.remove(); 40 break; 41 } 42 } 43 Collections.sort(l3); 44 l3.add(otherTc); 45 for (int i = 0; i < l3.size(); i++) { 46 System.out.println(l3.get(i).getTc()); 47 }
 1 package com.example.demo;
 2 
 3 import java.io.Serializable;
 4 
 5 public class EntityA implements Serializable,Comparable<EntityA> {
 6     //點選File–Setting–Editor–Inspections–Java–Serialization issues–勾選Serializable class without"serialVersionUID"即可,然後點選OK
 7     //第二步:選中實體類類名按住Alt+Enter,選擇條目,即可生成serialVersionUID
 8     private static final long serialVersionUID = -5787205392747829684L;
 9     private String tc;
10     private String ta;
11     private String tb;
12     private String td;
13 
14     //get/set...
15 
16     @Override
17     public int compareTo(EntityA o) {
18         if(this.tc.compareTo(o.tc)<0)
19             return -1;
20         else if(this.tc.compareTo(o.tc)>0)
21             return 1;
22         else return 0;
23     }
24 }