public class Collections extends Object
Collections contains static methods which operate on
Collection classes.| Modifier and Type | Field and Description |
|---|---|
static List |
EMPTY_LIST
An empty immutable instance of
List. |
static Map |
EMPTY_MAP
An empty immutable instance of
Map. |
static Set |
EMPTY_SET
An empty immutable instance of
Set. |
| Modifier and Type | Method and Description |
|---|---|
static <T> boolean |
addAll(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> int |
binarySearch(List<? extends Comparable<? super T>> list,
T object)
Performs a binary search for the specified element in the specified
sorted list.
|
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.
|
static <E> Collection<E> |
checkedCollection(Collection<E> c,
Class<E> type)
Returns a dynamically typesafe view of the specified collection.
|
static <T> void |
copy(List<? super T> destination,
List<? extends T> source)
Copies the elements from the source list to the destination list.
|
static boolean |
disjoint(Collection<?> c1,
Collection<?> c2)
Returns whether the specified collections have no elements in common.
|
static <T> List<T> |
emptyList()
Returns a type-safe empty, immutable
List. |
static <K,V> Map<K,V> |
emptyMap()
Returns a type-safe empty, immutable
Map. |
static <T> Set<T> |
emptySet()
Returns a type-safe empty, immutable
Set. |
static <T> Enumeration<T> |
enumeration(Collection<T> collection)
Returns an
Enumeration on the specified collection. |
static <T> void |
fill(List<? super T> list,
T object)
Fills the specified list with the specified element.
|
static int |
frequency(Collection<?> c,
Object o)
Returns the number of elements in the
Collection that match the
Object passed. |
static int |
indexOfSubList(List<?> list,
List<?> sublist)
Searches the
list for sublist and returns the beginning
index of the first occurrence. |
static int |
lastIndexOfSubList(List<?> list,
List<?> sublist)
Searches the
list for sublist and returns the beginning
index of the last occurrence. |
static <T> ArrayList<T> |
list(Enumeration<T> enumeration)
Returns an
ArrayList with all the elements in the enumeration. |
static <T extends Object & Comparable<? super T>> |
max(Collection<? extends T> collection)
Searches the specified collection for the maximum element.
|
static <T> T |
max(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>> |
min(Collection<? extends T> collection)
Searches the specified collection for the minimum element.
|
static <T> T |
min(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> boolean |
replaceAll(List<T> list,
T obj,
T obj2)
Replaces all occurrences of Object
obj in list with
newObj. |
static void |
reverse(List<?> list)
Modifies the specified
List by reversing the order of the
elements. |
static <T> Comparator<T> |
reverseOrder()
A comparator which reverses the natural order of the elements.
|
static <T> Comparator<T> |
reverseOrder(Comparator<T> c)
Returns a
Comparator that reverses the order of the
Comparator passed. |
static void |
rotate(List<?> lst,
int dist)
Rotates the elements in
list by the distance dist |
static void |
shuffle(List<?> list)
Moves every element of the list to a random new position in the list.
|
static void |
shuffle(List<?> list,
Random random)
Moves 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>> |
sort(List<T> list)
Sorts the specified list in ascending natural order.
|
static <T> void |
sort(List<T> list,
Comparator<? super T> comparator)
Sorts the specified list using the specified comparator.
|
static void |
swap(List<?> list,
int index1,
int index2)
Swaps the elements of list
list at indices index1 and
index2. |
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 an
UnsupportedOperationException whenever 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 an
UnsupportedOperationException whenever 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 an
UnsupportedOperationException whenever 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 an
UnsupportedOperationException whenever 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 an
UnsupportedOperationException whenever 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 an
UnsupportedOperationException whenever an attempt is made to
modify the sorted set. |
public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T object)
list - the sorted list to search.object - the element to find.-index - 1 where the element would be insertedClassCastException - if an element in the List or the search element does not
implement Comparable, or cannot be compared to each other.public static <T> int binarySearch(List<? extends T> list, T object, Comparator<? super T> comparator)
T - The element typelist - the sorted List to search.object - the element to find.comparator - the comparator. If the comparator is null then the
search uses the objects' natural ordering.-index - 1 where the element would be inserted.ClassCastException - when an element in the list and the searched element cannot
be compared to each other using the comparator.public static <T> void copy(List<? super T> destination, List<? extends T> source)
index >= source.size() will be unchanged.destination - the list whose elements are set from the source list.source - the list with the elements to be copied into the destination.IndexOutOfBoundsException - when the destination list is smaller than the source list.UnsupportedOperationException - when replacing an element in the destination list is not
supported.public static <T> Enumeration<T> enumeration(Collection<T> collection)
Enumeration on the specified collection.collection - the collection to enumerate.public static <T> void fill(List<? super T> list, T object)
list - the list to fill.object - the element to fill the list with.UnsupportedOperationException - when replacing an element in the List is not supported.public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> collection)
collection - the collection to search.ClassCastException - when an element in the collection does not implement
Comparable or elements cannot be compared to each
other.public static <T> T max(Collection<? extends T> collection, Comparator<? super T> comparator)
collection - the collection to search.comparator - the comparator.ClassCastException - when elements in the collection cannot be compared to each
other using the Comparator.public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> collection)
collection - the collection to search.ClassCastException - when an element in the collection does not implement
Comparable or elements cannot be compared to each
other.public static <T> T min(Collection<? extends T> collection, Comparator<? super T> comparator)
collection - the collection to search.comparator - the comparator.ClassCastException - when elements in the collection cannot be compared to each
other using the Comparator.public static <T> List<T> nCopies(int length, T object)
length - the size of the returned list.object - the element to be added length times to a list.length copies of the element.IllegalArgumentException - when length < 0.public static void reverse(List<?> list)
List by reversing the order of the
elements.list - the list to reverse.UnsupportedOperationException - when replacing an element in the List is not supported.public static <T> Comparator<T> reverseOrder()
Comparator that's returned is Serializable.Comparator instance.Comparator,
Comparable,
Serializablepublic static <T> Comparator<T> reverseOrder(Comparator<T> c)
Comparator that reverses the order of the
Comparator passed. If the Comparator passed is
null, then this method is equivalent to reverseOrder().
The Comparator that's returned is Serializable if the
Comparator passed is serializable or null.
c - the Comparator to reverse or null.Comparator instance.Comparatorpublic static void shuffle(List<?> list)
list - the List to shuffle.UnsupportedOperationException - when replacing an element in the List is not supported.public static void shuffle(List<?> list, Random random)
list - the list to shuffle.random - the random number generator.UnsupportedOperationException - when replacing an element in the list is not supported.public static <E> Set<E> singleton(E object)
object - the element.public static <E> List<E> singletonList(E object)
object - the element.public static <K,V> Map<K,V> singletonMap(K key, V value)
key - the key.value - the value.public static <T extends Comparable<? super T>> void sort(List<T> list)
list - the list to be sorted.ClassCastException - when an element in the List does not implement Comparable or
elements cannot be compared to each other.public static <T> void sort(List<T> list, Comparator<? super T> comparator)
list - the list to be sorted.comparator - the comparator.ClassCastException - when elements in the list cannot be compared to each other
using the comparator.public static void swap(List<?> list, int index1, int index2)
list at indices index1 and
index2.list - the list to manipulate.index1 - position of the first element to swap with the element in
index2.index2 - position of the other element.IndexOutOfBoundsException - if index1 or index2 is out of range of this list.public static <T> boolean replaceAll(List<T> list, T obj, T obj2)
obj in list with
newObj. If the obj is null, then all
occurrences of null are replaced with newObj.list - the list to modify.obj - the object to find and replace occurrences of.obj2 - the object to replace all occurrences of obj in
list.obj has been found in
list.UnsupportedOperationException - if the list does not support setting elements.public static void rotate(List<?> lst, int dist)
list by the distance dist
e.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]
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.public static int indexOfSubList(List<?> list, List<?> sublist)
list for sublist and returns the beginning
index of the first occurrence.
-1 is returned if the sublist does not exist in list.
list - the List to search sublist in.sublist - the List to search in list.sublist in
list, or -1.public static int lastIndexOfSubList(List<?> list, List<?> sublist)
list for sublist and returns the beginning
index of the last occurrence.
-1 is returned if the sublist does not exist in list.
list - the list to search sublist in.sublist - the list to search in list.sublist in
list, or -1.public static <T> ArrayList<T> list(Enumeration<T> enumeration)
ArrayList with all the elements in the enumeration. The elements in the returned ArrayList are in the
same order as in the enumeration.enumeration - the source Enumeration.ArrayList from enumeration.public static <T> Collection<T> synchronizedCollection(Collection<T> collection)
collection - the Collection to wrap in a synchronized collection.public static <T> List<T> synchronizedList(List<T> list)
list - the List to wrap in a synchronized list.public static <K,V> Map<K,V> synchronizedMap(Map<K,V> map)
map - the map to wrap in a synchronized map.public static <E> Set<E> synchronizedSet(Set<E> set)
set - the set to wrap in a synchronized set.public static <K,V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> map)
map - the sorted map to wrap in a synchronized sorted map.public static <E> SortedSet<E> synchronizedSortedSet(SortedSet<E> set)
set - the sorted set to wrap in a synchronized sorted set.public static <E> Collection<E> unmodifiableCollection(Collection<? extends E> collection)
UnsupportedOperationException whenever an attempt is made to
modify the collection.collection - the collection to wrap in an unmodifiable collection.public static <E> List<E> unmodifiableList(List<? extends E> list)
UnsupportedOperationException whenever an attempt is made to
modify the list.list - the list to wrap in an unmodifiable list.public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> map)
UnsupportedOperationException whenever an attempt is made to
modify the map.map - the map to wrap in an unmodifiable map.public static <E> Set<E> unmodifiableSet(Set<? extends E> set)
UnsupportedOperationException whenever an attempt is made to
modify the set.set - the set to wrap in an unmodifiable set.public static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> map)
UnsupportedOperationException whenever an attempt is made to
modify the sorted map.map - the sorted map to wrap in an unmodifiable sorted map.public static <E> SortedSet<E> unmodifiableSortedSet(SortedSet<E> set)
UnsupportedOperationException whenever an attempt is made to
modify the sorted set.set - the sorted set to wrap in an unmodifiable sorted set.public static int frequency(Collection<?> c, Object o)
Collection that match the
Object passed. If the Object is null, then the
number of null elements is returned.c - the Collection to search.o - the Object to search for.NullPointerException - if the Collection parameter is null.public static final <T> List<T> emptyList()
List.List.EMPTY_LISTpublic static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)
ClassCastException. At creation time the types in c are
not checked for correct type.c - the collection to be wrapped in a typesafe collection.type - the type of the elements permitted to insert.public static <T> boolean addAll(Collection<? super T> c, T... a)
c - the collection the elements are to be inserted into.a - the elements to insert.UnsupportedOperationException - when the method is not supported.NullPointerException - when c or a is null, or a
contains one or more null elements and c
doesn't support null elements.IllegalArgumentException - if at least one of the elements can't be inserted into the
collection.public static boolean disjoint(Collection<?> c1, Collection<?> c2)
c1 - the first collection.c2 - the second collection.true if the collections have no elements in common,
false otherwise.NullPointerException - if one of the collections is null.public static <E> Set<E> newSetFromMap(Map<E,Boolean> map)
E - type of elements in setmap - the backing mapIllegalArgumentException - if the map is not empty