《黑马程序员》 TreeSet集合练习之 按照字符串长度排序
2014-04-16 12:14
387 查看
public class TreeSetTest { /** * 按照字符串长度排序 */ public static void main(String[] args) { TreeSet ts=new TreeSet(new MyComp2()); ts.add("abcd"); ts.add("baca"); ts.add("aead"); ts.add("cc"); ts.add("z"); ts.add("hahaha"); ts.add("hag"); Iterator ite=ts.iterator(); while(ite.hasNext()){ String s=(String)ite.next(); System.out.println(s); } } } //主要条件满足时再判断一下次要条件 class MyComp2 implements Comparator{ /*@Override public int compare(Object o1,Object o2){ if(!(o1 instanceof String && o2 instanceof String)) throw new RuntimeException("实例对象不符"); String s1=(String)o1; String s2=(String)o2; if(s1.length()>s2.length()) return -1; if(s1.length()==s2.length()){ //除了要判断字符串长度以外还要判断字符串 // return 0; return s1.compareTo(s2); //按照字符串进行比较一次 } return 1; } 第一种方式*/ //第二种方式 @Override public int compare(Object o1,Object o2){ if(!(o1 instanceof String && o2 instanceof String)) throw new RuntimeException("实例对象不符"); String s1=(String)o1; String s2=(String)o2; //Integer包装类也可以进行比较的 //我们使用它来比较两个字符串的长度然后将返回值直接返回 int num=new Integer(s1.length()).compareTo(new Integer(s2.length())); if(num==0) return s1.compareTo(s2); //如果长度=0则让两个字符串进行比较。这个是按字典的顺序进行比较的 return num; } }
相关文章推荐
- 17-集合框架-25-常用对象API(集合框架-TreeSet集合练习-字符串长度排序)
- 集合框架--TreeSet集合练习之字符串长度排序
- TreeSet重写比较器按照字符串长度排序
- (69)TreeSet练习:按照长度为主关键字,自然顺序为次关键字排序
- TreeSet按照字符串长度进行排序
- TreeSet基本应用:按照字符串长度排序
- 按字符串长度排序——TreeSet练习
- Collections练习之按照字符串长度进行排序
- 用Set集合,按照字符串的长度排序的方法
- TreeSet按照字符串的长度排序(用比较器)
- TreeSet存储自定义对象并遍历练习2(按照姓名的长度排序)
- java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)
- perl按照字符串长度进行排序,sort函数的示例
- TreeSet创建树集合时,按照升序进行排序
- java 集合框架按字符串长度排序
- 用treeset对字符串进行长度排序
- 按照字符串长度排序
- Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序
- php 对数组按照字符串长度排序
- 按照字符串长度排序