现在的位置: 首页 > 综合 > 正文

泛型和TreeSet的应用(二)

2013年10月24日 ⁄ 综合 ⁄ 共 909字 ⁄ 字号 评论关闭
package cn.us;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
//泛型和TreeSet的应用(二)
//TreeSet实现排序的第二种办法:让容器本身实现排序的功能
//因为TreeSet有一构造方法:TreeSet tr=new TreeSet(Comparator c);
//其参数为实现了Comparator接口的类
//
//总结:
//在方法一中,要让对象本身具有可比性,所以implements Comparable(形容词)
//在方法二中,要让容器本身实现排序的功能,即使其变成一个可排序的容器
//所以采用了TreeSet treeSet=new TreeSet(new tempComparator());
//tempComparator类实现了implements Comparator(名词)
//利用泛型和TreeSet实现按照数组的长度进行排序
class ComTest implements Comparator<String> {
	@Override
	public int compare(String arg0, String arg1) {
		if (arg0.length() < arg1.length()) {
			return -1;
		}
		if (arg0.length() == arg1.length()) {
			return 0;
		} else {
			return 1;
		}
	}
}

public class Test8 {
   public static void main(String[] args) {
         TreeSet<String> treeSet=new TreeSet<String>(new ComTest());
         treeSet.add("as");
         treeSet.add("afs");
         treeSet.add("affs");
         treeSet.add("aasds");
         for(Iterator<String> iter=treeSet.iterator();iter.hasNext();){
        	 System.out.println(iter.next().length());
         }
   }
}

抱歉!评论已关闭.