CollectionUtils

CollectionUtils

 

static final float DEFAULT_LOAD_FACTOR = 0.75f;

 

#public static boolean isEmpty(@Nullable Collection<?> collection)  null或empty

#public static boolean isEmpty(@Nullable Map<?, ?> map)  null或empty

#public static <K, V> HashMap<K, V> newHashMap(int expectedSize)  使用(int) (expectedSize / DEFAULT_LOAD_FACTOR), DEFAULT_LOAD_FACTOR 作为入参

#public static <K, V> LinkedHashMap<K, V> newLinkedHashMap(int expectedSize)  使用(int) (expectedSize / DEFAULT_LOAD_FACTOR), DEFAULT_LOAD_FACTOR 作为入参

#public static List<?> arrayToList(@Nullable Object source)  把source转为数组再转List。转数组过程:若source是Object[] -> Object[];若source是null->Object[0];若source不是数组类型 ->IllegalArgumentException;否则source是数组,以source的数组类型创建数组对象并设置值

#public static <E> void mergeArrayIntoCollection(@Nullable Object array, Collection<E> collection)  把array转成数组(同arrayToList)后,add到collection

#public static <K, V> void mergePropertiesIntoMap(@Nullable Properties props, Map<K, V> map)  把props合并到map

#public static boolean contains(@Nullable Iterator<?> iterator, Object element)  检查iterator中是否包含element

#public static boolean contains(@Nullable Enumeration<?> enumeration, Object element)  检查enumeration中是否包含element

#public static boolean containsInstance(@Nullable Collection<?> collection, Object element)   检查collection中是否包含element(以==方式)

#public static boolean containsAny(Collection<?> source, Collection<?> candidates)   检查source中是否包含candidates中的任意元素 return findFirstMatch(source, candidates) != null;

@Nullable
#public static <E> E findFirstMatch(Collection<?> source, Collection<E> candidates)  在source逐个匹配candidates中的元素,找到第一个即返回

@Nullable
#public static <T> T findValueOfType(Collection<?> collection, @Nullable Class<T> type)   在collection中找到类型是type的元素。若type==null,所有元素都符合;若符合的元素>1个,返回null(不能唯一确定)

@Nullable

#public static Object findValueOfType(Collection<?> collection, Class<?>[] types)  逐个用types中的type,在collection中找到类型是type的元素,匹配到第一个符合的即返回

#public static boolean hasUniqueObject(Collection<?> collection)  检查collection中的元素都可以用==匹配;若collection是null或empty -> false;若前一个跟后一个是!=的 -> false;否则true

@Nullable
#public static Class<?> findCommonElementType(Collection<?> collection)  找到collection中所有元素的公共class。若collection是null或empty -> null;若前一个元素的getClass()跟后一个的getClass() 是 != 的 -> null;否则就是找到

@Nullable
#public static <T> T firstElement(@Nullable Set<T> set)  找到set中的排在第一的元素。若set instanceof SortedSet -> 返回第一个;否则用Iterator的第一个

@Nullable
public static <T> T firstElement(@Nullable List<T> list)  return list.get(0);

@Nullable

#public static <T> T lastElement(@Nullable Set<T> set)  找到set中的排在第一的元素。若set instanceof SortedSet -> 返回最后一个;否则用Iterator的最后一个

@Nullable

#public static <T> T lastElement(@Nullable List<T> list)  return list.get(list.size() - 1);

#public static <A, E extends A> A[] toArray(Enumeration<E> enumeration, A[] array)  将给定枚举中的元素封送到给定类型的数组中。枚举元素必须可分配给给定数组的类型。返回的数组将是与给定数组不同的实例。

#public static <E> Iterator<E> toIterator(@Nullable Enumeration<E> enumeration)  得到一个对应的枚举迭代器

#public static <K, V> MultiValueMap<K, V> toMultiValueMap(Map<K, List<V>> targetMap)  得到一个对应的MultiValueMap

#public static <K, V> MultiValueMap<K, V> unmodifiableMultiValueMap(MultiValueMap<? extends K, ? extends V> targetMap)  得到一个不可变的MultiValueMap,其每个key对应的List<V>也是不可变的

 

 

 

 

@Nullablepublic static <T> T lastElement(@Nullable Set<T> set)

上一篇:System V 共享内存区


下一篇:[Mybatis]12.缓存