A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这个题用有参的TreeSet集合来做,传入一个自定义的比较器
TreeSet<String> ts2 = new TreeSet<>(new Comparator<String>() {
   public int compare(String s1,String s2) {
    //按照字符串的长度排序,并保留重复(长度是主要条件,字典顺序是次要条件,如果字符串一样,compareTo()方法返回1,确保可以保留重复)
    int length = s1.length() - s2.length();
    int num = length == 0 ? s1.compareTo(s2) : length;
    return num == 0 ? 1 : num;
   }
  });
  ts2.add("bbb");
  ts2.add("aaa");
  ts2.add("bbb");
  ts2.add("nihao");
  ts2.add("heima");
  ts2.add("aaa");
  ts2.add("week");
  ts2.add("year");
  ts2.add("cccccccccc");
  
  for (String s : ts2) {
   System.out.println(s);
  }

1 个回复

倒序浏览
传入的比较器是一个匿名内部类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马