📄 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 + -