1、创建map集合的方式

方式1:

Map<String, Object> map = new HashMap<>();
map.put("a", "test");
map.put("b", "since");
  • 1.
  • 2.
  • 3.

方式2:

Map<String, Object> map2 = new HashMap<>() {{
       put("c", "driver");
       put("d", "carer");
}};
  • 1.
  • 2.
  • 3.
  • 4.

方式3:

Map<String, Object> map3 = Maps.newHashMap();
 map3.put("e", "desk");
 map3.put("f", "book");
  • 1.
  • 2.
  • 3.

方法4:创建空map

java.util.Collections.emptyMap();
  • 1.

方法5 使用Guava库的ImmutableMap(不可变)

Map immutableMap = ImmutableMap.of("a", 1, "b", 2, "c", 3);
  • 1.

方法6 使用Builder模式来创建更复杂的不可变Map

Map<String,Integer> immutableMapUsingBuilder = ImmutableMap.<String,Integer>builder()
                .put("a", 1)
                .put("b", 4)
                .build();
  • 1.
  • 2.
  • 3.
  • 4.

方法7:java9及以后的创建方式

Map java9ImmutableMap = Map.of("a", 1, "b", 2, "c", 3);

// 或者
Map java9MapOfEntries = Map.ofEntries(
                Map.entry("a", 1),
                Map.entry("b", 2),
                Map.entry("c", 3)
        );
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

 方法8:Collections.singletonMap

Map<String, String> map = Collections.singletonMap("key1", "value1");
  • 1.
2、创建list集合的方式

方式1:

List<String> list1 = new ArrayList<>();
  list1.add("ele1");
  list1.add("ele2");
  • 1.
  • 2.
  • 3.

方式2:

List<String> list2 = Lists.newArrayList();
  • 1.

方式3:

List<String> list3 = Lists.newArrayList("test1", "test2", "test3");
  • 1.

方式4:

Arrays.asList("a1", "a2", "a3");
  • 1.

方式5:创建空list集合

List emptyList = java.util.Collections.emptyList();
  • 1.

方式6:通过stream创建

List streamList = Stream.of("a", "b", "c").collect(Collectors.toList());
  • 1.

方式7:不可变list

ImmutableList<String> list = ImmutableList.of("a", "b", "c", "d");
  • 1.

 方式8:Collections.singletonList

List<String> list = Collections.singletonList("test");
  • 1.
3、map集合常用操作

判断map集合是否为空;获取所有键、所有值、获取值根据键的信息

Map<String, String> map = ImmutableMap.of("key1", "浙江省", "key2", "江苏省", "key3", "河南省");
        // 判断Map是否为空方法
        boolean result1 = MapUtils.isEmpty(map);
        boolean result2 = CollectionUtils.isEmpty(map);
        // 获取Map中的所有键
        Set<String> keys = map.keySet();
        // 获取Map中的所有值
        Collection<String> values = map.values();
        // 获取Map中的所有键值对
        Set<Map.Entry<String, String>> entries = map.entrySet();
        // 根据键获取值,如果不存在则返回null
        String province1 = map.getOrDefault("key1","无省份信息"); // 浙江省
        String province2 = map.getOrDefault("key4","无省份信息"); // 无省份信息
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
4、java8 stream常用的一些方法归总

方法1:Collectors.toMap;该方法是将数据转换为map对象,map对象的key要唯一,如果转换之前key有可能存在的话通过(k1,k2)->k1来决定取哪一个key,否则的话会报错

java日常开发中常用的集合工具类方法归总(java8 stream)_map集合

java日常开发中常用的集合工具类方法归总(java8 stream)_List_02

方法2:Collectors.groupingBy 分组的意思,按照某个字段进行分组,我按照省份进行分组,分组后的数据浙江省的有两条,河南省的有一条

java日常开发中常用的集合工具类方法归总(java8 stream)_java_03


方法3:对list集合判断是否为空然后进行stream操作

List<String> collect = Optional.ofNullable(userList).orElse(Collections.emptyList()).stream().map(User::getName)
                .collect(Collectors.toList());
  • 1.
  • 2.

以上总结均为日常开发中高频使用到的,后续有其他方法会进行不断补充。欢迎大家留言补充