java中如何快速创建list和快速创建map
创建list
// 最简单的 List<String> strings = Lists.newArrayList("a", "b", "c", "d", "a"); List<String> strings2 = new ArrayList<>(); // 创建的list是不可变的 List<String> strings = Arrays.asList("a", "b", "c"); // 创建一个正常的list List<String> strings1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
快速创建一个map
// 正常创建map方法 Map<String, String> stringStringHashMap1 = new HashMap<>(); // 用谷歌的guava工具,创建的map是不可变的,也就是你不能进行修改 ImmutableMap<String, Integer> of = ImmutableMap.of("a", 1, "b", 2, "c", 3); // guava工具还实现了创建者模式 ImmutableMap<Object, Object> build1 = ImmutableMap.builder().put("a", 1).put("b", 4).build();
快速创建一个set
// 用guava 快速创建一个set ImmutableSet<Object> build2 = ImmutableSet.builder().add("a").add("b").build();
list 与array 互转
List<Integer> numList = Lists.newArrayList(1, 2, 3, 4); // list 转 数组 Integer[] numArray = numList.toArray(new Integer[0]); System.out.println("numArray = " + JSONObject.toJSON(numArray)); // lambda 表达式 数组转list List<Integer> newList = Arrays.stream(numArray).collect(Collectors.toList()); System.out.println("newList = " + JSONObject.toJSON(newList)); // Arrays工具转成不可变的list List<Integer> integers = Arrays.asList(numArray);
list 去重
// 基本类型去重 List<String> collect = list.stream().distinct().collect(Collectors.toList()); // 对象类型去重 List<Student> collect = students.stream() .collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getA() + o.getB())) ), ArrayList::new) );

浙公网安备 33010602011771号