操作集合类Collections,自定义集合排序方式
2016-08-12 16:22
274 查看
//Collections:操作集合的工具类 import java.util.*; class ComByLength implements Comparator<String> { public int compare(String s1,String s2) { int num =s1.length()-s2.length(); return num==0?s1.compareTo(s2):num; } } class Demo3 { public static void main(String[] args) { //static <T extends Comparable<? super T>> void sort(List<T> list) //需求:希望存储多个可以重复的对象,还希望可以排序 ArrayList<String> list = new ArrayList<>(); list.add("htmlkkkkkkk");//String list.add("javakkk"); list.add("mysqlkkkkkkkkkk"); list.add("java"); //按照集合中对象所属的类自身具备的比较方式进行排序的 // int compareTo() //Collections.sort(list); //按照自定的比较方式对集合中的对象进行排序 //Collections.sort(list,new ComByLength()); //得到和给定比较方式相反的比较方式 //Comparator com = Collections.reverseOrder(new ComByLength()); //Collections.sort(list,com); //按照和集合中对象默认的比较方式向反的方式排序 //按照字符串大小从大到小排序 //Collections.sort(list,Collections.reverseOrder()); //Collections.reverse(list); //System.out.println(Collections.max(list)); String max = getMax(list); System.out.println(max); } public static <E extends Object&Comparable<? super E>> E getMax(Collection<? extends E> col) { Iterator<? extends E> ite = col.iterator(); E obj = ite.next();//得到集合中第一个对象 while(ite.hasNext()) { E object = ite.next(); int num = obj.compareTo(object); if(num<0) obj = object; } return obj; } }
相关文章推荐
- 黑马程序员——Java高新技术——集合
- 黑马程序员_集合框架
- 集合框架工具类 Collections ,Arrays
- java集合(工具类Collections)
- java集合常用的工具类
- java Collections集合工具类
- 二、2.3Guava的集合工具类
- 集合之间的操作util-在全集allSet中标识出在子集sonSet 出现过的元素
- Java_集合的工具类—Collections
- 集合工具类之Map特点和实现类的详解
- 集合工具类之Set特点和实现类的详解
- 集合工具类之List特点和实现类的详解
- JAVA学习笔记——Collection工具类Collections
- 结构体和类的区别
- 计时器动画测试
- nginx的upstream目前支持5种方式的分配
- java配置静态资源
- xml中使用include引入布局,layout属性设置不管用
- 【卷积神经网络】tiny-dnn环境配置
- Codeforces Round #367 (Div. 2) A(暴力) B(二分查找) C(DP) D(01字典树)