欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > java日常开发中常用的集合工具类方法归总(java8 stream)

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

2024/10/24 5:20:40 来源:https://blog.csdn.net/royal1235/article/details/140390805  浏览:    关键词:java日常开发中常用的集合工具类方法归总(java8 stream)
1、创建map集合的方式

方式1:

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

方式2:

Map<String, Object> map2 = new HashMap<>() {{put("c", "driver");put("d", "carer");
}};

方式3:

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

方法4:创建空map

        java.util.Collections.emptyMap();

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

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

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

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

方法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));

 方法8:Collections.singletonMap

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

方式1:

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

方式2:

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

方式3:

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

方式4:

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

方式5:创建空list集合

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

方式6:通过stream创建

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

方式7:不可变list

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

 方式8:Collections.singletonList

List<String> list = Collections.singletonList("test");
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();// 根据键获取值,如果不存在则返回nullString province1 = map.getOrDefault("key1","无省份信息"); // 浙江省String province2 = map.getOrDefault("key4","无省份信息"); // 无省份信息
4、java8 stream常用的一些方法归总

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

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


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

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com