Java_集合_Collections工具类
2013-04-30 11:00
447 查看
本博客为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/8869162
Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collections 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection
支持的新 collection,以及少数其他内容。 如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都会抛出 NullPointerException。
http://blog.csdn.net/zimo2013/article/details/8869162
1.Collection与Collections的区别
Collection是个java.util下的接口,它是各种集合结构的父接口。Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collections 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection
支持的新 collection,以及少数其他内容。 如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都会抛出 NullPointerException。
2.Collections的常见操作
/* Collections包含有各种有关集合操作的静态方法。 Strawberry2013-4-30 */ public class Collections { private Collections() {} //构造函数私有化,不能创建对象 //**sort方法排序 public static <T extends Comparable<? super T>> void sort(List<T> list) {} //根据元素的自然顺序来 public static <T> void sort(List<T> list, Comparator<? super T> c) {}//根据指定比较器进行排序 //**返回最大元素 public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) {}//根据元素的自然顺序 public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp){}//根据指定比较器 //**根据最小元素。 public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll){}//根据元素的自然顺序 public static <T> T min(Collection<? extends T> coll,Comparator<? super T> comp){}//根据指定比较器 //**对List集合进行二分查找(前提必须已经排序) public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key){} //根据元素的自然顺序来 public static <T> int binarySearch(List<? extends T> list, T key,Comparator<? super T> c){}//根据指定比较器 //**将所有元素从一个列表复制到另一个列表。 public static <T> void copy(List<? super T> dest,List<? extends T> src){} //**使用指定元素替换指定列表中的所有元素。 public static <T> void fill(List<? super T> list,T obj){} //**使用另一个值替换列表中出现的所有某一指定值 public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal){} //**反转指定列表中元素的顺序 public static void reverse(List<?> list){} //**在指定列表的指定位置处交换元素 public static void swap(List<?> list,int i,int j){} //**指定集合进行强行反转 public static <T> Comparator<T> reverseOrder(){} public static <T> Comparator<T> reverseOrder(Comparator<T> cmp){} //****************************************************************** //**将非同步集合转成同步集合,原理:定义一个类,将集合所有的方法加同一把锁后返回。 public static <T> List<T> synchronizedList(List<T> list){}//返回指定列表支持的同步(线程安全的)列表 public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m){}//返回由指定映射支持的同步(线程安全的)映射 public static <T> Set<T> synchronizedSet(Set<T> s){} //返回指定 set 支持的同步(线程安全的)set //**使用默认随机源对指定列表进行置换。所有置换发生的可能性都是大致相等的。 public static void shuffle(List<?> list){} }
3.Collections的reverseOrder()强行逆转顺序应用
/* static <T> Comparator<T> reverseOrder() ,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。 static <T> Comparator<T> reverseOrder(Comparator<T> cmp) 返回一个比较器,它强行逆转指定比较器的顺序 Strawberry2013-4-28 */ import java.util.*; class CollectionsTest { public static void main(String[] args) { TreeSet<String> arr = new TreeSet<String>(Collections.reverseOrder(new Compa())); arr.add("bs"); //reverseOrder(Comparator<T> cmp) 返回的也是比较器,将其强行逆转 arr.add("acdf"); arr.add("fcf"); arr.add("c"); Iterator it = arr.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } } class Compa implements Comparator<String> { public int compare(String s1, String s2) { if(s1.length() < s2.length()) return -1; if(s1.length() > s2.length()) return 1; return s1.compareTo(s2); } }
相关文章推荐
- Java基础之集合框架--Collections工具类中的sort()方法
- java集合(工具类Collections)
- java类集---集合工具类:Collections
- java中集合工具类Collections的使用
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- 第8章 Java集合—Collections操作集合的工具类
- 黑马程序员—java基础学习--Map集合、Collections,Arrays工具类
- 黑马程序员——Java语言基础:集合框架(Collection、Map,工具类Collections、Arrays)
- Java集合工具类Collections常用方法
- 黑马程序员——JAVA基础——集合---概述、Collection中共性方法、List、Map、工具类Collections和Arrays
- 【Java总结-集合】Collections工具类
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- 【Java源码分析】集合框架-Collections工具类-Arrays工具类
- Java集合工具类Collections(一)
- Java 集合,Collections工具类的用法
- java Collections集合工具类
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)
- Java 操作集合的工具类:Collections
- 【Java基础】——集合工具类Collections和数组工具类Arrays
- JAVA 并发编程随笔【四】Collections集合工具类(学习并发编程顺带学习)