?? collectionstest.java
字號:
package util;
import java.util.*;
/*
* Collections類中所有的方法都是靜態的,(1)、提供了sort(List list)方法對列表進行自然排序,
* sort(List list,Comparator c) 按照定義的比較器Comparator排序.
*/
public class CollectionsTest {
public static void printElements(Collection c){
Iterator it=c.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
public static void main(String[] args) {
ArrayList al=new ArrayList();
al.add(new Student2(1,"sunxin"));
al.add(new Student2(3,"zhangxiaoxiang"));
al.add(new Student2(2,"yuminghong"));
al.add(new Student2(2,"liyang"));
Collections.sort(al);//自然排序
System.out.println(al);
printElements(al);
System.out.println("---------------------------------------------------");
Collections.sort(al,new Student2.Student2Comparator());//自定義比較器排序.
System.out.println(al);
printElements(al);
System.out.println("---------------------------------------------------");
Collections.sort(al,Collections.reverseOrder());//Collections類中提供的reverseOrder()
//方法實現反向排序的功能.
printElements(al);
}
}
class Student2 implements Comparable{
int num;
String name;
static class Student2Comparator implements Comparator{//定義為靜態的方便調用.
public int compare(Object o1,Object o2){//實現了比較器(Comparator)接口中的compare()方法.
Student2 s1=(Student2)o1;
Student2 s2=(Student2)o2;
int result;
result=s1.num>s2.num? 1:(s1.num==s2.num? 0:-1);
if(result==0){
result=s1.name.compareTo(s2.name); //s1和s2都是String類型的變量,
//String類實現了Comparable接口中的compareTo()方法,因此可以直接調用.
}
return result;
}
}
public Student2(int num, String name) {
this.num = num;
this.name = name;
}
public String toString(){
return num+":"+name;
}
public int compareTo(Object o){
Student2 s=(Student2)o;
return num>s.num? 1:(s.num==num? 0:-1);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -