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>