Collections中的实用方法

总结一下java.util.Collections类内部的静态方法。


checkedCollection(Collection<T> , Class<T> type)

checkedList(List<T> , Class<T> type)

checkedMap(Map<K,V>,Class<K> keyType,Class<V> valueType)

checkedSet<Set<T>, Class<T> type)

checkedSortedMap(SortedMap<K,V>,Calss<K> keyType,Class<V> valueType)

checkedSortedSet(SortedSet<T>,Class<T> type)

以上方法产生Collection或者Collection的具体子类型的动态类型安全的师徒。在不可能实用静态检查版本时使用这些方法。


max(Collection)

min(Collection)

返回参数Collection中最大或最小元素-采用Collection中的内置自然比较法。


max(Collection,Comparator)

min(Collection , Comparator)

返回参数Collection中最大或最小元素-采用Collection中的Comparator进行比较。


indexOfSubList(List source,List target)

返回target在source中第一次出现的位置,或者在找不到时返回-1


lastIndexOfSubList(List source,List target)

返回target在source中最后一次出现的位置,或者在找不到时返回-1


replaceAll(List<T> , T oldVal,T newVal)

使用newVal替换所有的oldVal


reverse(List)

逆序所有元素次序


reverseOrder()

reverseOrder(Comparator<T>)

返回一个Comparator,它可以逆转实现了Comparator<T> 的对象集合的自然顺序。第二个版本可以逆转所提供的Comparator的顺序。


rotate(List,int distance)

所有元素向后移动distance个位置,将末尾的元素循环到前面来。


shuffle(List)

shuffle(List,Random)

随机改变指定列表的顺序。


sort(List<T>)

sort(List<T>,Comparator<?Super T> c)

排序List


copy(List<? super T> dest, List<?extends T> src)

将src中的元素复制到dest


swap(List,int i , int j )

交换list中位置i和位置j的元素,通常比自己写的代码快


fill(List<? super T > , T x )

用对象x替换list中的所有元素


nCopies( int n , T x )

返回大小为n的List<T> , 次List不可改变,其中的引用都指向x


disjoint( Collection,Collection )

当两个集合没有任何相同元素时,返回true


frequency( Collection,Object x )

返回Collection中等于x的元素个数


emptyList()

emptyMap()

emptySet()

返回不可变的空List,Map或Set。这些方法都是泛型的。因此所产生的结果将被参数化为所希望的类型


singleton(T x )

singletonList(T x )

singletonMap(K key, V value)

产生不可变的Set<T>、List<T>或Map<K,V>,它们都只包含基于所给定的参数的内容而形成的单一项。


list(Enumeration<T> e )

产生一个ArrayList<T>,它包含的元素的顺序,与(旧式的)Enumeration(Iterator的前身)返回这些元素的顺序相同。用来转换遗留的老代码。


enumeration(Collection<T>)

为参数生成一个旧式的Enumeration<T>



posted @ 2017-08-23 15:58  fengbs  阅读(314)  评论(0编辑  收藏  举报