JAVA Collections_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA Collections

JAVA Collections

 2011/11/10 9:27:37  jiauwu  http://jiauwu.iteye.com  我要评论(0)
  • 摘要:Collections静态类,提供了一些排序之类的方法:测试类packageds.collections;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;importjava.util.Iterator;importjava.util.List;/***Collections排序*@authorHust*@Time2011-11
  • 标签:Java

Collections静态类,提供了一些排序之类的方法:

测试类

package ds.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;

/**
 * Collections 排序
 * @author Hust
 * @Time 2011-11-9
 */
public class CollectionsTest {

	public static void main(String[] args) {
		copara();
	}
	
	public static void copara(){
		List<Po> pocs = new ArrayList<Po>();
		pocs.add(new Po(5));
		pocs.add(new Po(3));
		pocs.add(new Po(4));
		Iterator<Po> poit = pocs.iterator();
		while (poit.hasNext()) {
			Po po = (Po) poit.next();
			System.out.println(po.id);
		}
		/**
		 5,3,4
		 */
		System.out.println("内部类实现排序");		
		//排序对象
		Collections.sort(pocs, new Po.compareTo());
		Iterator<Po> poit2 = pocs.iterator();
		while (poit2.hasNext()) {
			Po po = (Po) poit2.next();
			System.out.println(po.id);
		}
		/**5,4,3*/
		
		System.out.println("实现接口完成排序");
		List<Po1> pocs2 = new ArrayList<Po1>();
		pocs2.add(new Po1(5));
		pocs2.add(new Po1(3));
		pocs2.add(new Po1(4));
		//排序对象
		Collections.sort(pocs2);
		Iterator<Po1> poit1 = pocs2.iterator();
		while (poit1.hasNext()) {
			Po1 po = (Po1) poit1.next();
			System.out.println(po.id);
		}
		/**3,4,5*/
		System.out.println("反转后");
		Collections.reverse(pocs2);
		Iterator<Po1> poitr = pocs2.iterator();
		while (poitr.hasNext()) {
			Po1 po = (Po1) poitr.next();
			System.out.println(po.id);
		}
		/** 5,4,3 */
		System.out.println("交换值后");
		Collections.swap(pocs2, 1, 2);
		Iterator<Po1> poitrs = pocs2.iterator();
		while (poitrs.hasNext()) {
			Po1 po = (Po1) poitrs.next();
			System.out.println(po.id);
		}
		/** 5,3,4 */
		
		System.out.println(Collections.max(pocs2).id); // 5
		System.out.println(Collections.min(pocs2).id); //3
		
	}
	
}

//实现coomparable接口
class Po1 implements Comparable<Po1>{

	int id ;
	
	public Po1(int id){
		this.id = id;
	}
	
	//从小到大
	@Override
	public int compareTo(Po1 o) {
		return (o.id<id)?1:(o.id == id)?0:-1;
	}
	
}

//测试对象 实现比较器接口
class Po {
	int id;
	Po(int id){
		this.id = id;
	}
	 
	 //静态内部类实现比较器接口    从大到小
	static class compareTo implements Comparator<Po> {
		@Override
		public int compare(Po o1, Po o2) {
			return (o1.id < o2.id)?1:(o1.id == o2.id)?0:-1;
		}		 
	}
}


?



发表评论
用户名: 匿名