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()); } } }
时间: 2024-09-24 02:03:11