70、集合工具类-Collections
2017-10-11 15:32
148 查看
/* * Collections:是针对集合进行操作的工具类,都是静态方法。 * * 面试题: * Collection和Collections的区别? * Collection:是单列集合的顶层接口,有子接口List和Set。 * Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方法 * * 要知道的方法 * public static <T> void sort(List<T> list):排序 默认情况下是自然顺序。 * public static <T> int binarySearch(List<?> list,T key):二分查找 * public static <T> T max(Collection<?> coll):最大值 * public static void reverse(List<?> list):反转 * public static void shuffle(List<?> list):随机置换 */ public class CollectionsDemo { public static void main(String[] args) { // 创建集合对象 List<Integer> list = new ArrayList<Integer>(); // 添加元素 list.add(30); list.add(20); list.add(50); list.add(10); list.add(40); System.out.println("list:" + list); // public static <T> void sort(List<T> list):排序 默认情况下是自然顺序。 // Collections.sort(list); // System.out.println("list:" + list); // [10, 20, 30, 40, 50] // public static <T> int binarySearch(List<?> list,T key):二分查找 // System.out // .println("binarySearch:" + Collections.binarySearch(list, 30)); // System.out.println("binarySearch:" // + Collections.binarySearch(list, 300)); // public static <T> T max(Collection<?> coll):最大值 // System.out.println("max:"+Collections.max(list)); // public static void reverse(List<?> list):反转 // Collections.reverse(list); // System.out.println("list:" + list); //public static void shuffle(List<?> list):随机置换 Collections.shuffle(list); System.out.println("list:" + list); } } /* * Collections可以针对ArrayList存储基本包装类的元素排序,存储自定义对象可不可以排序呢? */ public class CollectionsDemo { public static void main(String[] args) { // 创建集合对象 List<Student> list = new ArrayList<Student>(); // 创建学生对象 Student s1 = new Student("林青霞", 27); Student s2 = new Student("风清扬", 30); Student s3 = new Student("刘晓曲", 28); Student s4 = new Student("武鑫", 29); Student s5 = new Student("林青霞", 27); // 添加元素对象 list.add(s1); list.add(s2); list.add(s3); list.add(s4); list.add(s5); // 排序 // 自然排序 // Collections.sort(list); // 比较器排序 // 如果同时有自然排序和比较器排序,以比较器排序为主 Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { int num = s2.getAge() - s1.getAge(); int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num; return num2; } }); // 遍历集合 for (Student s : list) { System.out.println(s.getName() + "---" + s.getAge()); } } }
相关文章推荐
- 操作集合的工具类:Collections
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 工具类 Collections and Arrays
- 集合框架_Collections工具类的常见方法讲解
- 19-集合框架工具类-16-常用对象API(集合框架-工具类-Collections-其他方法&将非同步集合转成同步集合的方法)
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- 黑马程序员_集合_map集合以及集合工具类Collections
- 操作集合的工具类:Collections
- Collections集合工具类、Arrays工具类、其他常用类:System,Runtime,Date,Calendar,Math
- [疯狂Java]集合:Collections工具类、Enumeration(摒弃)
- 黑马程序员_Java第17天知识总结_集合框架的工具类_Collections_Arrays_将数组变成list集合_集合变数组_高级for循环_可变参数
- 集合框架的工具类----Collections
- Java中集合框架工具类——Collections(传智播客毕老师视频讲解)
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- Java基础 - 双列集合Map,HashMap,LinkedHashMap,LinkedMap,TreeMap,Collections工具类
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- Commons-Collections 集合工具类的使用
- Commons-Collections 集合工具类的使用
- Collections -- 集合的工具类
- java集合工具类---Collections/Arrays
- day17集合框架的工具类Collections。二分法查找原理 。操作数组的工具类Arrays,集合变数组。高级for循环。可变参数