Class Collections
java.lang.Object
java.util.Collections
Collections contains static methods which operate on
Collection classes.- Since:
- 1.2
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> booleanaddAll(Collection<? super T> c, T... a) Adds all the specified elements to the specified collection.static <T> Queue<T> asLifoQueue(Deque<T> deque) Answers a LIFO Queue as a view of a Deque.static <T> intbinarySearch(List<? extends Comparable<? super T>> list, T object) Performs a binary search for the specified element in the specified sorted list.static <T> intbinarySearch(List<? extends T> list, T object, Comparator<? super T> comparator) Performs a binary search for the specified element in the specified sorted list using the specified comparator.static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type) Returns a dynamically typesafe view of the specified collection.static <T> voidCopies the elements from the source list to the destination list.static booleandisjoint(Collection<?> c1, Collection<?> c2) Returns whether the specified collections have no elements in common.static final <T> List<T> Returns a type-safe empty, immutableList.static final <K,V> Map <K, V> emptyMap()Returns a type-safe empty, immutableMap.static final <T> Set<T> emptySet()Returns a type-safe empty, immutableSet.static <T> Enumeration<T> enumeration(Collection<T> collection) Returns anEnumerationon the specified collection.static <T> voidFills the specified list with the specified element.static intfrequency(Collection<?> c, Object o) Returns the number of elements in theCollectionthat match theObjectpassed.static intindexOfSubList(List<?> list, List<?> sublist) Searches thelistforsublistand returns the beginning index of the first occurrence.static intlastIndexOfSubList(List<?> list, List<?> sublist) Searches thelistforsublistand returns the beginning index of the last occurrence.static <T> ArrayList<T> list(Enumeration<T> enumeration) Returns anArrayListwith all the elements in theenumeration.static <T extends Object & Comparable<? super T>>
Tmax(Collection<? extends T> collection) Searches the specified collection for the maximum element.static <T> Tmax(Collection<? extends T> collection, Comparator<? super T> comparator) Searches the specified collection for the maximum element using the specified comparator.static <T extends Object & Comparable<? super T>>
Tmin(Collection<? extends T> collection) Searches the specified collection for the minimum element.static <T> Tmin(Collection<? extends T> collection, Comparator<? super T> comparator) Searches the specified collection for the minimum element using the specified comparator.static <T> List<T> nCopies(int length, T object) Returns a list containing the specified number of the specified element.static <E> Set<E> newSetFromMap(Map<E, Boolean> map) Answers a set backed by a map.static <T> booleanreplaceAll(List<T> list, T obj, T obj2) Replaces all occurrences of ObjectobjinlistwithnewObj.static voidModifies the specifiedListby reversing the order of the elements.static <T> Comparator<T> A comparator which reverses the natural order of the elements.static <T> Comparator<T> reverseOrder(Comparator<T> c) Returns aComparatorthat reverses the order of theComparatorpassed.static voidRotates the elements inlistby the distancediststatic voidMoves every element of the list to a random new position in the list.static voidMoves every element of the list to a random new position in the list using the specified random number generator.static <E> Set<E> singleton(E object) Returns a set containing the specified element.static <E> List<E> singletonList(E object) Returns a list containing the specified element.static <K,V> Map <K, V> singletonMap(K key, V value) Returns a Map containing the specified key and value.static <T extends Comparable<? super T>>
voidSorts the specified list in ascending natural order.static <T> voidsort(List<T> list, Comparator<? super T> comparator) Sorts the specified list using the specified comparator.static voidSwaps the elements of listlistat indicesindex1andindex2.static <T> Collection<T> synchronizedCollection(Collection<T> collection) Returns a wrapper on the specified collection which synchronizes all access to the collection.static <T> List<T> synchronizedList(List<T> list) Returns a wrapper on the specified List which synchronizes all access to the List.static <K,V> Map <K, V> synchronizedMap(Map<K, V> map) Returns a wrapper on the specified map which synchronizes all access to the map.static <E> Set<E> synchronizedSet(Set<E> set) Returns a wrapper on the specified set which synchronizes all access to the set.static <K,V> SortedMap <K, V> synchronizedSortedMap(SortedMap<K, V> map) Returns a wrapper on the specified sorted map which synchronizes all access to the sorted map.static <E> SortedSet<E> synchronizedSortedSet(SortedSet<E> set) Returns a wrapper on the specified sorted set which synchronizes all access to the sorted set.static <E> Collection<E> unmodifiableCollection(Collection<? extends E> collection) Returns a wrapper on the specified collection which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the collection.static <E> List<E> unmodifiableList(List<? extends E> list) Returns a wrapper on the specified list which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the list.static <K,V> Map <K, V> unmodifiableMap(Map<? extends K, ? extends V> map) Returns a wrapper on the specified map which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the map.static <E> Set<E> unmodifiableSet(Set<? extends E> set) Returns a wrapper on the specified set which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the set.static <K,V> SortedMap <K, V> unmodifiableSortedMap(SortedMap<K, ? extends V> map) Returns a wrapper on the specified sorted map which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the sorted map.static <E> SortedSet<E> unmodifiableSortedSet(SortedSet<E> set) Returns a wrapper on the specified sorted set which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the sorted set.
-
Field Details
-
EMPTY_LIST
-
EMPTY_SET
-
EMPTY_MAP
-
-
Method Details
-
binarySearch
Performs a binary search for the specified element in the specified sorted list. The list needs to be already sorted in natural sorting order. Searching in an unsorted array has an undefined result. It's also undefined which element is found if there are multiple occurrences of the same element.- Parameters:
list- the sorted list to search.object- the element to find.- Returns:
- the non-negative index of the element, or a negative index which
is the
-index - 1where the element would be inserted - Throws:
ClassCastException- if an element in the List or the search element does not implement Comparable, or cannot be compared to each other.
-
binarySearch
public static <T> int binarySearch(List<? extends T> list, T object, Comparator<? super T> comparator) Performs a binary search for the specified element in the specified sorted list using the specified comparator. The list needs to be already sorted according to the comparator passed. Searching in an unsorted array has an undefined result. It's also undefined which element is found if there are multiple occurrences of the same element.- Type Parameters:
T- The element type- Parameters:
list- the sorted List to search.object- the element to find.comparator- the comparator. If the comparator isnullthen the search uses the objects' natural ordering.- Returns:
- the non-negative index of the element, or a negative index which
is the
-index - 1where the element would be inserted. - Throws:
ClassCastException- when an element in the list and the searched element cannot be compared to each other using the comparator.
-
copy
Copies the elements from the source list to the destination list. At the end both lists will have the same objects at the same index. If the destination array is larger than the source list, the elements in the destination list withindex >= source.size()will be unchanged.- Parameters:
destination- the list whose elements are set from the source list.source- the list with the elements to be copied into the destination.- Throws:
IndexOutOfBoundsException- when the destination list is smaller than the source list.UnsupportedOperationException- when replacing an element in the destination list is not supported.
-
enumeration
Returns anEnumerationon the specified collection.- Parameters:
collection- the collection to enumerate.- Returns:
- an Enumeration.
-
fill
Fills the specified list with the specified element.- Parameters:
list- the list to fill.object- the element to fill the list with.- Throws:
UnsupportedOperationException- when replacing an element in the List is not supported.
-
max
Searches the specified collection for the maximum element.- Parameters:
collection- the collection to search.- Returns:
- the maximum element in the Collection.
- Throws:
ClassCastException- when an element in the collection does not implementComparableor elements cannot be compared to each other.
-
max
Searches the specified collection for the maximum element using the specified comparator.- Parameters:
collection- the collection to search.comparator- the comparator.- Returns:
- the maximum element in the Collection.
- Throws:
ClassCastException- when elements in the collection cannot be compared to each other using theComparator.
-
min
Searches the specified collection for the minimum element.- Parameters:
collection- the collection to search.- Returns:
- the minimum element in the collection.
- Throws:
ClassCastException- when an element in the collection does not implementComparableor elements cannot be compared to each other.
-
min
Searches the specified collection for the minimum element using the specified comparator.- Parameters:
collection- the collection to search.comparator- the comparator.- Returns:
- the minimum element in the collection.
- Throws:
ClassCastException- when elements in the collection cannot be compared to each other using theComparator.
-
nCopies
Returns a list containing the specified number of the specified element. The list cannot be modified. The list is serializable.- Parameters:
length- the size of the returned list.object- the element to be addedlengthtimes to a list.- Returns:
- a list containing
lengthcopies of the element. - Throws:
IllegalArgumentException- whenlength < 0.
-
reverse
Modifies the specifiedListby reversing the order of the elements.- Parameters:
list- the list to reverse.- Throws:
UnsupportedOperationException- when replacing an element in the List is not supported.
-
reverseOrder
A comparator which reverses the natural order of the elements. TheComparatorthat's returned is.invalid reference
Serializable- Returns:
- a
Comparatorinstance. - See Also:
-
reverseOrder
Returns aComparatorthat reverses the order of theComparatorpassed. If theComparatorpassed isnull, then this method is equivalent toreverseOrder().The
Comparatorthat's returned isif theinvalid reference
SerializableComparatorpassed is serializable ornull.- Parameters:
c- theComparatorto reverse ornull.- Returns:
- a
Comparatorinstance. - Since:
- 1.5
- See Also:
-
shuffle
Moves every element of the list to a random new position in the list.- Parameters:
list- the List to shuffle.- Throws:
UnsupportedOperationException- when replacing an element in the List is not supported.
-
shuffle
Moves every element of the list to a random new position in the list using the specified random number generator.- Parameters:
list- the list to shuffle.random- the random number generator.- Throws:
UnsupportedOperationException- when replacing an element in the list is not supported.
-
singleton
Returns a set containing the specified element. The set cannot be modified. The set is serializable.- Parameters:
object- the element.- Returns:
- a set containing the element.
-
singletonList
Returns a list containing the specified element. The list cannot be modified. The list is serializable.- Parameters:
object- the element.- Returns:
- a list containing the element.
-
singletonMap
Returns a Map containing the specified key and value. The map cannot be modified. The map is serializable.- Parameters:
key- the key.value- the value.- Returns:
- a Map containing the key and value.
-
sort
Sorts the specified list in ascending natural order. The algorithm is stable which means equal elements don't get reordered.- Parameters:
list- the list to be sorted.- Throws:
ClassCastException- when an element in the List does not implement Comparable or elements cannot be compared to each other.
-
sort
Sorts the specified list using the specified comparator. The algorithm is stable which means equal elements don't get reordered.- Parameters:
list- the list to be sorted.comparator- the comparator.- Throws:
ClassCastException- when elements in the list cannot be compared to each other using the comparator.
-
swap
Swaps the elements of listlistat indicesindex1andindex2.- Parameters:
list- the list to manipulate.index1- position of the first element to swap with the element in index2.index2- position of the other element.- Throws:
IndexOutOfBoundsException- if index1 or index2 is out of range of this list.- Since:
- 1.4
-
replaceAll
Replaces all occurrences of ObjectobjinlistwithnewObj. If theobjisnull, then all occurrences ofnullare replaced withnewObj.- Parameters:
list- the list to modify.obj- the object to find and replace occurrences of.obj2- the object to replace all occurrences ofobjinlist.- Returns:
- true, if at least one occurrence of
objhas been found inlist. - Throws:
UnsupportedOperationException- if the list does not support setting elements.
-
rotate
Rotates the elements inlistby the distancediste.g. for a given list with elements [1, 2, 3, 4, 5, 6, 7, 8, 9, 0], calling rotate(list, 3) or rotate(list, -7) would modify the list to look like this: [8, 9, 0, 1, 2, 3, 4, 5, 6, 7]
- Parameters:
lst- the list whose elements are to be rotated.dist- is the distance the list is rotated. This can be any valid integer. Negative values rotate the list backwards.
-
indexOfSubList
Searches thelistforsublistand returns the beginning index of the first occurrence.-1 is returned if the
sublistdoes not exist inlist.- Parameters:
list- the List to searchsublistin.sublist- the List to search inlist.- Returns:
- the beginning index of the first occurrence of
sublistinlist, or -1.
-
lastIndexOfSubList
Searches thelistforsublistand returns the beginning index of the last occurrence.-1 is returned if the
sublistdoes not exist inlist.- Parameters:
list- the list to searchsublistin.sublist- the list to search inlist.- Returns:
- the beginning index of the last occurrence of
sublistinlist, or -1.
-
list
Returns anArrayListwith all the elements in theenumeration. The elements in the returnedArrayListare in the same order as in theenumeration.- Parameters:
enumeration- the sourceEnumeration.- Returns:
- an
ArrayListfromenumeration.
-
synchronizedCollection
Returns a wrapper on the specified collection which synchronizes all access to the collection.- Parameters:
collection- the Collection to wrap in a synchronized collection.- Returns:
- a synchronized Collection.
-
synchronizedList
-
synchronizedMap
-
synchronizedSet
-
synchronizedSortedMap
-
synchronizedSortedSet
-
unmodifiableCollection
Returns a wrapper on the specified collection which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the collection.- Parameters:
collection- the collection to wrap in an unmodifiable collection.- Returns:
- an unmodifiable collection.
-
unmodifiableList
-
unmodifiableMap
-
unmodifiableSet
-
unmodifiableSortedMap
Returns a wrapper on the specified sorted map which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the sorted map.- Parameters:
map- the sorted map to wrap in an unmodifiable sorted map.- Returns:
- a unmodifiable sorted map
-
unmodifiableSortedSet
Returns a wrapper on the specified sorted set which throws anUnsupportedOperationExceptionwhenever an attempt is made to modify the sorted set.- Parameters:
set- the sorted set to wrap in an unmodifiable sorted set.- Returns:
- a unmodifiable sorted set.
-
frequency
Returns the number of elements in theCollectionthat match theObjectpassed. If theObjectisnull, then the number ofnullelements is returned.- Parameters:
c- theCollectionto search.o- theObjectto search for.- Returns:
- the number of matching elements.
- Throws:
NullPointerException- if theCollectionparameter isnull.- Since:
- 1.5
-
emptyList
-
emptySet
-
emptyMap
-
checkedCollection
Returns a dynamically typesafe view of the specified collection. Trying to insert an element of the wrong type into this collection throws aClassCastException. At creation time the types incare not checked for correct type.- Parameters:
c- the collection to be wrapped in a typesafe collection.type- the type of the elements permitted to insert.- Returns:
- a typesafe collection.
-
addAll
Adds all the specified elements to the specified collection.- Parameters:
c- the collection the elements are to be inserted into.a- the elements to insert.- Returns:
- true if the collection changed during insertion.
- Throws:
UnsupportedOperationException- when the method is not supported.NullPointerException- whencoraisnull, oracontains one or morenullelements andcdoesn't supportnullelements.IllegalArgumentException- if at least one of the elements can't be inserted into the collection.
-
disjoint
Returns whether the specified collections have no elements in common.- Parameters:
c1- the first collection.c2- the second collection.- Returns:
trueif the collections have no elements in common,falseotherwise.- Throws:
NullPointerException- if one of the collections isnull.
-
newSetFromMap
Answers a set backed by a map. And the map must be empty when this method is called.- Type Parameters:
E- type of elements in set- Parameters:
map- the backing map- Returns:
- the set from the map
- Throws:
IllegalArgumentException- if the map is not empty- Since:
- 1.6
-
asLifoQueue
-