Class ListUtils


  • public class ListUtils
    extends Object
    Utilities and algorithms for List.
    Author:
    poirigui
    • Constructor Detail

      • ListUtils

        public ListUtils()
    • Method Detail

      • indexOfElements

        public static <T> Map<T,​Integer> indexOfElements​(List<T> list)
        Get a mapping of element to their first occurrence in a List. This of this as an efficient way of calling List.indexOf(Object) in a loop, since it will reduce the complexity to O(n) instead of O(n^2). I couldn't find this algorithm in Guava nor Apache Collections, but if you do, let me know!
      • indexOfCaseInsensitiveStringElements

        public static Map<String,​Integer> indexOfCaseInsensitiveStringElements​(List<String> list)
        Get a case-insensitive mapping of string elements to their first occurrence in a List.
        See Also:
        indexOfElements(List)
      • padToNextPowerOfTwo

        public static <T> List<T> padToNextPowerOfTwo​(List<T> list,
                                                      T elementForPadding)
        Pad a collection to the next power of 2 with the given element.
      • pad

        public static <T> List<T> pad​(List<T> list,
                                      T elementForPadding,
                                      int size)
        Pad a collection with the given element.
      • batch

        public static <T> List<List<T>> batch​(List<T> list,
                                              int batchSize)