Class CollectionUtil

java.lang.Object
com.vividsolutions.jump.util.CollectionUtil

public class CollectionUtil extends Object
  • Constructor Details

    • CollectionUtil

      public CollectionUtil()
  • Method Details

    • concatenate

      public static <T> Collection<T> concatenate(Collection<T> a, Collection<T> b)
    • list

      public static <T> List<T> list(T a, T b)
    • combinations

      public static List combinations(List original, int maxCombinationSize)
      Returns a List of Lists: all combinations of the elements of the given List.
      Parameters:
      maxCombinationSize - combinations larger than this value are discarded
    • inverse

      public static <U,V> Map<V,U> inverse(Map<U,V> map)
    • combinations

      public static <T> List<List<T>> combinations(List<T> original, int maxCombinationSize, T mandatoryItem)
      Returns a List of Lists: all combinations of the elements of the given List.
      Parameters:
      maxCombinationSize - combinations larger than this value are discarded
      mandatoryItem - an item that all returned combinations must contain, or null to leave unspecified
    • combinations

      public static <T> List<List<T>> combinations(List<T> original)
      Returns a List of Lists: all combinations of the elements of the given List.
    • removeKeys

      public static <U,V> void removeKeys(Collection<U> keys, Map<U,V> map)
    • keysAndCorrespondingValues

      public static List[] keysAndCorrespondingValues(Map map)
      The nth key corresponds to the nth value
    • concatenate

      public static <T> Collection<T> concatenate(Collection<? extends Collection<T>> collections)
    • randomElement

      public static Object randomElement(List list)
    • reverseSortedSet

      public static SortedSet<Integer> reverseSortedSet(int[] ints)
    • reverse

      public static List reverse(List list)
    • stretch

      public static <T> Collection stretch(Collection<T> source, Collection<T> destination, int destinationSize)
      Data is evenly discarded or duplicated to attain the new size
    • ifNotIn

      public static Object ifNotIn(Object o, Collection c, Object alternative)
    • setIfNull

      public static void setIfNull(int i, List<String> list, String value)
    • resize

      public static void resize(List list, int newSize)
    • containsReference

      public static boolean containsReference(Object[] objects, Object o)
    • indexOf

      public static int indexOf(Object o, Object[] objects)
    • removeDuplicates

      public static <T> Collection<T> removeDuplicates(Collection<T> original)
      Brute force, for when HashSet and TreeSet won't work (e.g. #hashCode implementation isn't appropriate). The original Collection is not modified.
    • addIfNotNull

      public static void addIfNotNull(Object item, Collection collection)
    • filterByClass

      public static Collection filterByClass(Collection collection, Class c)
      Modifies and returns the collection.
    • createMap

      public static Map createMap(Object[] alternatingKeysAndValues)
    • createMap

      public static Map<Object,Object> createMap(Class mapClass, Object[] alternatingKeysAndValues)
    • collect

      public static <T,R> Collection<R> collect(Collection<T> collection, Block block)
      The Smalltalk #collect method.
    • select

      public static <T> Collection<T> select(Collection<T> collection, Block block)
      The Smalltalk #select method.
    • get

      public static Object get(Class<?> c, Map<Class<?>, ? extends Object> map)
      Search an object associated to the class c or one of its parent in the associative map
      Parameters:
      c - the class used as a key
      map - the associative map in which the research is made
      Returns:
      an object or null if no object is associated to class c or one of its parent