List<String> list = new ArrayList<>(Arrays.asList("1", "2"
CollectionUtil.addAll(list,"4");
CollectionUtil.addAll(list,new String[]{"5","6"});
CollectionUtil.addAll(list,Arrays.asList("7","8"));
CollectionUtil.addAll(list,new HashSet<>(Arrays.asList("9"
System.out.println(list);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3"));
CollectionUtil.addAllIfNotContains(list, Arrays.asList("1", "2", "4"));
System.out.println(list);//[1, 2, 3, 4]
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3"));
CollectionUtil.addIfAbsent(list,"2");//已存在不添加
CollectionUtil.addIfAbsent(list,"4");
System.out.println(list);//[1, 2, 3, 4]
元素删除
java复制代码
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3","","4",null,"5"));
CollectionUtil.removeEmpty(list);
//CollectionUtil.removeBlank(list);
System.out.println(list);//[1, 2, 3, 4,5]
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3","4","3","5","3","2"));
CollectionUtil.removeAny(list, "3","2");
System.out.println(list);//[1, 4,5]
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3","","4",null,"5"));
CollectionUtil.removeNull(list);
System.out.println(list);//[1, 2, 3, 4,5]
//自定义条件
List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3","","4",null,"5"));
CollectionUtil.removeWithAddIf(list, item -> item == null || item.isEmpty());
System.out.println(list);//[1, 2, 3, 4,5]
根据属性转Map
java复制代码
List<User> list = Arrays.asList(
new User(1,"张三", 18, 1),
new User(2,"李四", 18, 2),
new User(3,"王五", 18, 3),
new User(4,"张三", 18, 4),
new User(5,"李四", 18, 1));
Map<String, User> result = CollectionUtil.fieldValueMap(list, "id");
Map<String, User> result2 = CollectionUtil.fieldValueAsMap(list, "id", "name");
获取元素
java复制代码
List<User> list = Arrays.asList(
new User(1,"张三", 18, 1),
new User(2,"李四", 18, 2),
new User(3,"王五", 18, 3),
new User(4,"张三", 18, 4),
new User(5,"李四", 18, 1));
User result = CollectionUtil.get(list,6);//自带判空效果
User result = CollectionUtil.getFirst(list);
User result = CollectionUtil.getLast(list);
List<User> result = CollectionUtil.getAny(list, 0, 2);
List<Object> result = CollectionUtil.getFieldValues(list, "name");//[张三, 李四, 王五, 张三, 李四] User类要先实现Iterable<E>接口
//截取集合
List<User> result = CollectionUtil.sub(list, 0, 3);
获取最大/最小元素
java复制代码
List<User> list = Arrays.asList(
new User(1,"张三", 19, 1),
new User(2,"李四", 18, 2),
new User(3,"王五", 16, 3),
new User(4,"张三", 24, 4),
new User(5,"李四", 17, 1));
//需要User先实现Comparable<e>接口
User result = CollectionUtil.max(list);//张三
User result = CollectionUtil.min(list);//王五
集合排序
java复制代码
List<User> list = Arrays.asList(
new User(1,"张三", 19, 1),
new User(2,"李四", 18, 2),
new User(3,"王五", 16, 3),
new User(4,"张三", 24, 4),
new User(5,"李四", 17, 1));
//不需要User先实现Comparable<e>接口,默认从小到大排序
List<User> result = CollectionUtil.sort(list, Comparator.comparing(User::getAge));