1. 程式人生 > >java中Collections類的使用

java中Collections類的使用

示例:實體類實現Comparable介面,重寫compareTo方法

public class Person implements Comparable<Person>{
    private String personId;
    private String rate;
    
        ......

    @Override
    public int compareTo(Person o) {
        if(o.getRate().equals(this.getRate())){
            return 0;
        }
        
if(Double.parseDouble(this.getRate()) < Double.parseDouble(o.getRate())){ return -1; } if(Double.parseDouble(this.getRate()) > Double.parseDouble(o.getRate())){ return 1; } return 0; } }

Collections的使用

    public static void main(String[] args) {
        
        List<Person> ll = new ArrayList<Person>();
        
        ll.add(new Person("1","0.1"));
        ll.add(new Person("4","0.4"));
        ll.add(new Person("2","0.2"));
        ll.add(new Person("3","0.3"));
        
        
//遍歷輸出結果 1 4 2 3 //預設排序(從小到大) Collections.sort(ll);//遍歷輸出結果 1 2 3 4
//從大到小,先預設排序再反轉 Collections.sort(ll); Collections.reverse(ll);//遍歷輸出結果 4 3 2 1
//隨機排序,所有置換髮生的可能性都是大致相等的 Collections.shuffle(ll);//遍歷輸出結果 1 3 4 2 }

另:加 利用set對list進行去重

        Set set = new  HashSet();
        List<Person> newList = new ArrayList<Person>();
        for (Person p:ll) {
            if(set.add(p)){
                newList.add(p);
            }
        }
        System.out.println( "去重後的集合: " + newList);