⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collectionstest.java

📁 java培训专题
💻 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 + -