天天看點

Collections(集合工具類)

Collections

collections類是集合的工具類,用來對集合進行操作,可以實作一些常用的對集合的操作。

其内部方法和變量都是靜态的,是以在使用時不需要建立對象,直接使用即可。

常用的方法:

排序:

sort(List list);

将list集合中的元素按照預設(升序)的方式進行排序。

sort​(List list, Comparator<? super T> c);

将list集合中的元素通過實作Comparator類中的compare方法,自定義方式進行排序,如果大于傳回正數,小于傳回負數,等于傳回0.

通常Comparator類都為建立匿名類來進行操作,代碼如下:

class Love{
	String name;
	int time;
	Love(String name, int time){
		this.name = name;
		this.time = time;
	}
}
class Main{
	public static void main(String[] args){
		List<Love> list = new ArrayList<Love>();
		Love l1 = new Love("lmz","100");
		Love l2 = new Love("xxq","107");
		list.add(l1);
		list.add(l2);
		//建立匿名類,按照升序的方式進行排序
		Collections.sort(list, new Comparator<Love>(){
		//實作接口方法,大的傳回1
			public int compare(Love o1, Love o2){
				if(o1.time>o2.time){
					return 1;
				}else if(o1.time<o2.time){
                    return -1;
                }else{
                    return 0;
                }
			}
		});
		//通過疊代器,周遊排序後的集合
		ListIterator li = list.listIterator();
		while(li.hasNext()){
			System.out.println(li.next());
		}
	}
}