例如,有两个列表:
List<Double> list1 = Arrays.asList(1.0, 2.0);
List<String> list2 = Arrays.asList("one_point_zero", "two_point_zero");
使用Stream,我想创建一个由这些列表组成的映射,其中清单1是键,清单2是值。要做到这一点,我需要创建一个辅助列表:
List<Integer> list0 = Arrays.asList(0, 1);
Map<Double, String> map2 = list0.stream()
.collect(Collectors.toMap(list1::get, list2::get));
list0按List1::Get和List2::Get的顺序使用。有没有一种不创建list0的更简单的方法?我尝试了以下代码,但没有起作用:
Map<Double, String> map2 = IntStream
.iterate(0, e -> e + 1)
.limit(list1.size())
.collect(Collectors.toMap(list1::get, list2::get));
您可以使用intstream
生成索引,而不是使用辅助列表保存索引。
Map<Double, String> map = IntStream.range(0, list1.size())
.boxed()
.collect(Collectors.toMap(i -> list1.get(i), i -> list2.get(i)));
我有使用Java8的代码: 原始列表是 [3, 5, 4, 2, 5]。执行“筛选”和“收集”操作后,列表将更改为 [3, 5, 4, 5]。 是否所有操作都对原始列表执行,并且不创建新列表?还是在“过滤”和“收集”操作之后,返回新创建的列表并忽略原始列表?
我有一个阵列列表多地图- 它显示为json,如下所示: 但我需要如何将其解析为:
我有一个a类和B类的列表,没有重复的元素。“代码”属性在A类和B类中都是相同的。我想将它们转换为Map 最终映射的顺序应与列表1中的元素相同 ~A 更新:我将代码更新到下面,但它不是编译的。你知道怎么了吗?
问题内容: 我的情况是: 我想知道是否有一个名字和年龄相同但不在乎的人。 什么是最快的方法? 问题答案: 为自己定义一个关键对象,该对象可以保存并比较所需的属性。在这种简单情况下,您可以使用一个小的列表,而每个索引对应一个属性。对于更复杂的情况,可以使用(使用属性名称作为键)或专用类: 具有这种映射功能。您可以使用简单的解决方案: 当您的列表很大时,这可能会导致性能不佳。如果列表很大(或者无法预测
我有一个的数组,它们都有一个的列表: 我想创建一个包含所有变量的列表。我今天是这样做的: 我尝试过此操作,但它返回给我一个,而我想要一个,其中附加了列表的所有元素(使用):
我有一个字符串数组和一个整数数组。如何使用第一个作为键,第二个作为值来创建地图? 如何在 Kotlin 中将 List 转换为 Map?不能解决这个问题;我有2个数组,想要一个地图。