## Class CollectionUtil

• java.lang.Object
• org.jgrapht.util.CollectionUtil

• public class CollectionUtil
extends java.lang.Object
Utility class to create Collection instances.
Author:
Hannes Wellmann
• ### Method Summary

All Methods
Modifier and Type Method Description
static <E> E getElement​(java.lang.Iterable<E> iterable, int index)
Returns from the given Iterable the element with the given index.
static <K,​V>java.util.HashMap<K,​V> newHashMapWithExpectedSize​(int expectedSize)
Returns a HashMap with an initial capacity that is sufficient to hold expectedSize mappings without rehashing its internal backing storage.
static <E> java.util.HashSet<E> newHashSetWithExpectedSize​(int expectedSize)
Returns a HashSet with an initial capacity that is sufficient to hold expectedSize elements without rehashing its internal backing storage.
static <K,​V>java.util.LinkedHashMap<K,​V> newLinkedHashMapWithExpectedSize​(int expectedSize)
Returns a LinkedHashMap with an initial capacity that is sufficient to hold expectedSize mappings without rehashing its internal backing storage.
static <E> java.util.LinkedHashSet<E> newLinkedHashSetWithExpectedSize​(int expectedSize)
Returns a LinkedHashSet with an initial capacity that is sufficient to hold expectedSize elements without rehashing its internal backing storage.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Method Detail

• #### newHashMapWithExpectedSize

public static <K,​V> java.util.HashMap<K,​V> newHashMapWithExpectedSize​(int expectedSize)
Returns a HashMap with an initial capacity that is sufficient to hold expectedSize mappings without rehashing its internal backing storage.

The returned HashMap has a capacity that is the specified expected size divided by the load factor of the Map, which is sufficient to hold expectedSize mappings without rehashing. As the Javadoc of HashMap states: "If the initial capacity is greater than the maximum number of entries divided by the load factor, no rehash operations will ever occur".

Type Parameters:
K - the type of keys in the returned HashMap
V - the type of values in the returned HashMap
Parameters:
expectedSize - of mappings that will be put into the returned HashMap
Returns:
an empty HashMap with sufficient capacity to hold expectedSize mappings
HashMap

public static <K,​V> java.util.LinkedHashMap<K,​V> newLinkedHashMapWithExpectedSize​(int expectedSize)
Returns a LinkedHashMap with an initial capacity that is sufficient to hold expectedSize mappings without rehashing its internal backing storage.

Because LinkedHashMap extends HashMap it inherits the issue that the capacity is not equivalent to the number of mappings it can hold without rehashing. See newHashMapWithExpectedSize(int) for details.

Type Parameters:
K - the type of keys in the returned LinkedHashMap
V - the type of values in the returned LinkedHashMap
Parameters:
expectedSize - of mappings that will be put into the returned LinkedHashMap
Returns:
an empty LinkedHashMap with sufficient capacity to hold expectedSize mappings
HashMap
• #### newHashSetWithExpectedSize

public static <E> java.util.HashSet<E> newHashSetWithExpectedSize​(int expectedSize)
Returns a HashSet with an initial capacity that is sufficient to hold expectedSize elements without rehashing its internal backing storage.

Because a HashSet is backed by a HashMap it inherits the issue that the capacity is not equivalent to the number of elements it can hold without rehashing. See newHashMapWithExpectedSize(int) for details.

Type Parameters:
E - the type of elements in the returned HashSet
Parameters:
expectedSize - of elements that will be add to the returned HashSet
Returns:
an empty HashSet with sufficient capacity to hold expectedSize elements
HashMap

public static <E> java.util.LinkedHashSet<E> newLinkedHashSetWithExpectedSize​(int expectedSize)
Returns a LinkedHashSet with an initial capacity that is sufficient to hold expectedSize elements without rehashing its internal backing storage.

Because a LinkedHashSet is backed by a HashMap it inherits the issue that the capacity is not equivalent to the number of elements it can hold without rehashing. See newHashMapWithExpectedSize(int) for details.

Type Parameters:
E - the type of elements in the returned LinkedHashSet
Parameters:
expectedSize - of elements that will be add to the returned LinkedHashSet
Returns:
an empty LinkedHashSet with sufficient capacity to hold expectedSize elements
HashMap
• #### getElement

public static <E> E getElement​(java.lang.Iterable<E> iterable,
int index)
Returns from the given Iterable the element with the given index.

The order to which the index applies is that defined by the Iterable.iterator().

Type Parameters:
E - the type of elements in the Iterable
Parameters:
iterable - the Iterable from which the element at index is returned
index - the index of the returned element
Returns:
the element with index in the iterable