Java-按照字符串长度排序

发布于:2021-10-01 19:23:20

/*
?* 练*:按照字符串长度排序
?*
?* 字符串本身具备比较性。但是它的比较方式不是所需要的
?*
?* 这时就只能使用比较器
?*/


public class TreeSetTest {


?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?
?? ??? ?TreeSet ts = new TreeSet(new StringComparator());
?? ??? ?
?? ??? ?ts.add("abcd");
?? ??? ?ts.add("ab");
?? ??? ?ts.add("abcdef");
?? ??? ?ts.add("abce");
?? ??? ?ts.add("abcdefg");
?? ??? ?
?? ??? ?Iterator it = ts.iterator();
?? ??? ?
?? ??? ?while(it.hasNext()) {
?? ??? ??? ?System.out.println(it.next());
?? ??? ?}


?? ?}


}


class StringComparator implements Comparator{
?? ?public int compare(Object o1,Object o2) {
?? ??? ?String s1 = (String)o1;
?? ??? ?String s2 = (String)o2;
?? ??? ?
//?? ??? ?if(s1.length()>s2.length()) {
//?? ??? ??? ?return 1;
//?? ??? ?}
//?? ??? ?if(s1.length()==s2.length()) {
//?? ??? ??? ?return 0;
//?? ??? ?}
?? ??? ?int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
?? ??? ?
?? ??? ?if(num==0) {
?? ??? ??? ?return s1.compareTo(s2);
?? ??? ?}
?? ??? ?return num;
?? ?}
}

相关推荐

最新更新

猜你喜欢