gpt4 book ai didi

java - 创建一个 Map>

转载 作者:行者123 更新时间:2023-12-01 21:37:29 25 4
gpt4 key购买 nike

我正在尝试创建一个 Map<String,List<Integer>> 。这里的挑战是如果键不存在则创建列表,否则使用当前键添加新整数以获取当前列表。我已经完成了一些非常接近的工作,但我不知道如何引用当前 map 来获取列表。

List<String> strList = Arrays.asList(new String[]{"even","odd"});
List<Integer> intList = Arrays.asList(new Integer[]{1,2,3,4,5,6,7});
//This is what i want returned: Map<String, List<Integer>> myMap=null;
List<Map.Entry<String,Integer>> list = strList.stream().flatMap(s -> intList.stream()
.map(i -> Maps.immutableEntry(s,i))).collect(Collectors.toList());

需要通过调用如下所示的函数来创建值,该函数需要 3 个参数:当前键、值加上当前列表。:

static public List<Integer> testFunc(String key, Integer i, List<Integer>list){
if(list == null){
list = new ArrayList();
}
list.add(i * key.hashCode());
return list;
}

最佳答案

实现此行为的最简单方法是使用 Collectors.groupingBy使用您自己的分类器:

Map<String, List<Integer>> map = 
intList.stream()
.collect(Collectors.groupingBy(x -> x % 2 == 0 ? "even" : "odd"));

关于java - 创建一个 Map<String,List<Integer>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36802107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com