黑马程序员技术交流社区

标题: 集合存储字符串,按照长度排序,并且保留重复 [打印本页]

作者: yeluoxingye    时间: 2017-2-28 23:13
标题: 集合存储字符串,按照长度排序,并且保留重复
这个题用有参的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);
  }

作者: yeluoxingye    时间: 2017-2-28 23:15
传入的比较器是一个匿名内部类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2