黑马程序员技术交流社区
标题:
将字符串按照长度排序,利用匿名内部类对象,长度从大到小,长度相同按照字母倒序
[打印本页]
作者:
lxl962189096
时间:
2016-5-20 23:09
标题:
将字符串按照长度排序,利用匿名内部类对象,长度从大到小,长度相同按照字母倒序
package com.heima.test;
import java.util.Comparator;
import java.util.TreeSet;
import com.heiam.bean.Person;
public class Demo3_TreeSet {
public static void main(String[] args) {
//demo1();
demo2();
}
private static void demo2() {
// 需求:将字符串按照长度排序,利用匿名内部类对象,长度从大到小,长度相同按照字母倒序
TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
int num = s2.length() - s1.length(); // 长度为主要条件
return num == 0 ? s2.compareTo(s1) : num; // 内容为次要条件
}
});
ts.add("aaaaaaaa");
ts.add("z");
ts.add("wc");
ts.add("nba");
ts.add("cba");
System.out.println(ts);
}
private static void demo1() {
// 需求:将字符串按照长度排序
TreeSet<String> ts = new TreeSet<>(new CompareByLen()); // Comparator c = new CompareByLen();
ts.add("aaaaaaaa");
ts.add("z");
ts.add("wc");
ts.add("nba");
ts.add("cba");
System.out.println(ts);
}
}
class CompareByLen /* extends Object */implements Comparator<String> {
@Override
public int compare(String s1, String s2) { // 按照字符串的长度比较
int num = s1.length() - s2.length(); // 长度为主要条件
return num == 0 ? s1.compareTo(s2) : num; // 内容为次要条件
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2