将两个列表合并为java 中的一个“二维”列表
发布时间:2020-12-15 04:41:29 所属栏目:Java 来源:网络整理
导读:参见英文答案 Clearest way to combine two lists into a map (Java)?????????????????????????????????????15个 我有两个清单: Names= ["John","Mark","Jo","Peter"];Values= [1.1,1.2,1.3,1.4]; 我想将它们合并为: info=[["John",1.1],["Mark",1.2],["Jo
参见英文答案 >
Clearest way to combine two lists into a map (Java)?????????????????????????????????????15个
我有两个清单: Names= ["John","Mark","Jo","Peter"]; Values= [1.1,1.2,1.3,1.4]; 我想将它们合并为: info=[["John",1.1],["Mark",1.2],["Jo",1.3],["Peter",1.4]]; 我怎样才能做到这一点?请有人帮忙吗 解决方法
理想情况下,在这种情况下,您需要创建一个具有两个字段名称的类,然后使用指定的名称和值旋转所需的许多对象,并将其存储到列表中,使生活变得简单,以维护相关数据并执行稍后对对象进行进一步操作.
另一种解决方案是使用另一个答案建议的地图,但前提是不会有重复的名称. 但是,如果您不想继续使用建议的方法,则可以将两个列表合并在一起: 从Java-8开始: List<List<Object>> merged = IntStream.range(0,Names.size()) .mapToObj(i -> Arrays.asList((Object) Names.get(i),Values.get(i))) .collect(Collectors.toList()); 或迫切的方法: List<List<Object>> merged = new ArrayList<>(); for (int i = 0; i < Names.size(); i++) { List<Object> temp = new ArrayList<>(); temp.add(Names.get(i)); temp.add(Values.get(i)); merged.add(temp); } 请注意,使用命令式方法,您可以在合并后修改嵌套列表,而第一种情况则无法修改嵌套列表.在决定哪种情况最适合您的情景时,我会留给您. 顺便说一句,您应该使用小写字母,即名称而不是名称和值而不是值等来启动变量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |