加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

将两个列表合并为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);
}

请注意,使用命令式方法,您可以在合并后修改嵌套列表,而第一种情况则无法修改嵌套列表.在决定哪种情况最适合您的情景时,我会留给您.

顺便说一句,您应该使用小写字母,即名称而不是名称和值而不是值等来启动变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读