gpt4 book ai didi

java - 比较 Java 中的 HashMap 和 List>

转载 作者:行者123 更新时间:2023-12-01 18:06:49 24 4
gpt4 key购买 nike

我有一个HashMap<String, Double>喜欢 arr1[]-{AA=0.05, BB=0.031, CC=0.056}List<ArrayList<String>>喜欢 arr2[]-[ [AA,BB,CC] , [BB, CC] , [AA, CC]].我想获取像 List<ArrayList<Double>> 这样的输出.它将是 [ [0.05,0.031,0.056] , [0.031, 0.056] , [0.05, 0.056]].我用过,

for (int i = 0; i < arr2.size(); i++) {
if (arr1.containsKey(arr2.get(i))) {

但是,不起作用。怎么做?

最佳答案

这可以使用 stream API 轻松实现:

lists.stream()
.map(list -> list.stream().map(map::get).collect(Collectors.toCollection(ArrayList::new))
.collect(Collectors.toList());

假设lists这是你的List<ArrayList<String>>map是你的HashMap<String, Double> ,这将返回 List<ArrayList<Double>>您所期望的。

我想补充一点,我不知道你为什么想要 ArrayList在您的列表中,但如果没有具体原因,请使用 Collectors.toList()而不是Collectors.toCollection(ArrayList::new) .

关于java - 比较 Java 中的 HashMap<String, Double> 和 List<ArrayList<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761280/

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