|
@@ -1,41 +1,24 @@
|
|
|
package api.common.util;
|
|
|
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Predicate;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
public class CollectionUtil {
|
|
|
|
|
|
- // -------------------------------- A --------------------------------
|
|
|
+ //* -------------------------------- before jdk9 --------------------------------
|
|
|
+
|
|
|
public static <T> List<T> arrayToList(T[] array) {
|
|
|
return Arrays.asList(array);
|
|
|
}
|
|
|
|
|
|
- // -------------------------------- B --------------------------------
|
|
|
- // -------------------------------- C --------------------------------
|
|
|
- @SafeVarargs
|
|
|
+
|
|
|
public static <T> ArrayList<T> createArrayList(T... elements) {
|
|
|
return new ArrayList<>(Arrays.asList(elements));
|
|
|
}
|
|
|
|
|
|
- // -------------------------------- D --------------------------------
|
|
|
- // -------------------------------- F --------------------------------
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据过滤条件来过滤列表
|
|
|
- *
|
|
|
- * @param arrayList 原始列表
|
|
|
- * @param predicate 过滤条件的 lambda 表达式,a-> a.getColor().equals("red") && a.getWeight() > 300
|
|
|
- * @param <T> 声明为泛型方法
|
|
|
- * @return 结果列表
|
|
|
- */
|
|
|
- public static <T> List<T> filterList(List<T> arrayList, Predicate<? super T> predicate) {
|
|
|
- return arrayList.stream().filter(predicate).collect(Collectors.toList());
|
|
|
+ public static <T> HashSet<T> createHashSet(T... elements) {
|
|
|
+ return new HashSet<>(Arrays.asList(elements));
|
|
|
}
|
|
|
|
|
|
- // -------------------------------- G --------------------------------
|
|
|
- // -------------------------------- H --------------------------------
|
|
|
- // -------------------------------- I --------------------------------
|
|
|
public static boolean isEmpty(Collection<?> collection) {
|
|
|
return collection == null || collection.isEmpty();
|
|
|
}
|
|
@@ -48,31 +31,58 @@ public class CollectionUtil {
|
|
|
return !isEmpty(collection);
|
|
|
}
|
|
|
|
|
|
- public static boolean isNotOne(Collection<?> collection) {
|
|
|
- return isEmpty(collection) || collection.size() > 1;
|
|
|
- }
|
|
|
-
|
|
|
public static boolean isNotEmpty(Map<?, ?> map) {
|
|
|
return !isEmpty(map);
|
|
|
}
|
|
|
|
|
|
- // -------------------------------- J --------------------------------
|
|
|
- // -------------------------------- K --------------------------------
|
|
|
- // -------------------------------- L --------------------------------
|
|
|
- // -------------------------------- M --------------------------------
|
|
|
- // -------------------------------- N --------------------------------
|
|
|
- // -------------------------------- O --------------------------------
|
|
|
- // -------------------------------- P --------------------------------
|
|
|
- // -------------------------------- Q --------------------------------
|
|
|
- // -------------------------------- R --------------------------------
|
|
|
- // -------------------------------- S --------------------------------
|
|
|
- // -------------------------------- T --------------------------------
|
|
|
- // -------------------------------- U --------------------------------
|
|
|
- // -------------------------------- V --------------------------------
|
|
|
- // -------------------------------- W --------------------------------
|
|
|
- // -------------------------------- X --------------------------------
|
|
|
- // -------------------------------- Y --------------------------------
|
|
|
- // -------------------------------- Z --------------------------------
|
|
|
+// //* -------------------------------- jdk9 --------------------------------
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 根据数组或参数序列创建只读的 list
|
|
|
+// *
|
|
|
+// * @param elements 数组或参数序列
|
|
|
+// * @param <T> 元素类型
|
|
|
+// * @return 只读 list
|
|
|
+// */
|
|
|
+// @SafeVarargs
|
|
|
+// public static <T> List<T> createUnmodifiableList(T... elements) {
|
|
|
+// return List.of(elements);
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 根据 list 创建只读的 list
|
|
|
+// *
|
|
|
+// * @param list list
|
|
|
+// * @param <E> 元素类型
|
|
|
+// * @return 只读 list
|
|
|
+// */
|
|
|
+// public static <E> List<E> createUnmodifiableList(List<E> list) {
|
|
|
+// return Collections.unmodifiableList(list);
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 根据 set 创建只读的 set
|
|
|
+// *
|
|
|
+// * @param set set
|
|
|
+// * @param <E> 元素类型
|
|
|
+// * @return 只读 list
|
|
|
+// */
|
|
|
+// public static <E> Set<E> createUnmodifiableList(Set<E> set) {
|
|
|
+// return Collections.unmodifiableSet(set);
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 根据 map 创建只读的 map
|
|
|
+// *
|
|
|
+// * @param map map
|
|
|
+// * @param <K> 键类型
|
|
|
+// * @param <V> 值类型
|
|
|
+// * @return 只读 map
|
|
|
+// */
|
|
|
+// public static <K, V> Map<K, V> createUnmodifiableList(Map<K, V> map) {
|
|
|
+// return Collections.unmodifiableMap(map);
|
|
|
+// }
|
|
|
|
|
|
|
|
|
}
|