当前位置: 首页 > 知识库问答 >
问题:

使用流从列表生成映射

衡修洁
2023-03-14
List<Person> personList =..;  //pid,personName,personAge;
List<Address> addressList =..;//pid,location,homeAddress;
 
HashMap<String, String> map = new HashMap<>();
personList.stream().filter(..)//how to iterate the second List?
  map.put(pid,location);

共有1个答案

江建明
2023-03-14

流API不对集合进行迭代;相反,它从源创建一个流,您不能从两个不同的资源创建一个流。

您可以使用一种规避方法,这将实现您所希望的:

List<Person> personList = ...;  //pid, personName, personAge;
List<Address> addressList = ...;//pid, location, homeAddress;

HashMap<String, String> map = new HashMap<>();

//get the size of smaller list, as lists are of different sizes.
int size = Math.min(personList.size(), addressList.size());

IntStream.range(0, size)
        .mapToObj(e -> new SimpleEntry<>(personList.get(e).getPid(), addressList.get(e).getLocation()))
        .forEach(e -> map.put(e.getKey(), e.getValue()));

备注:

    null
 类似资料:
  • 我有这些学生物品清单, 我想从这些学生列表对象生成哈希图。 hashmap包含sudentid和name list键值对。

  • 本文向大家介绍python列表生成式与列表生成器的使用,包括了python列表生成式与列表生成器的使用的使用技巧和注意事项,需要的朋友参考一下 列表生成式:会将所有的结果全部计算出来,把结果存放到内存中,如果列表中数据比较多,就会占用过多的内存空间,可能会导致MemoryError内存错误或者导致程序在运行时出现卡顿的情况 列表生成器:会创建一个列表生成器对象,不会一次性的把所有结果都计算出来,如

  • 问题内容: 假设我有一个如下所示的命令: 它会给我一个“空格”分隔的行集。一行可能看起来像这样 我想说服ps用逗号(甚至连制表符!)定界,以便可以用其他语言自动处理它。请注意,args中可能有空格,因此按字段唤醒本身不会起作用。 问题答案: 您可以使用以下语法放置自己的定界符:

  • 我正在尝试使用@ManyToOne和@OneToMany映射实体表。映射列位于名为“internal_plan_id”的子表中。根据要求,我不能更改名称。下面是两个实体表:父表 儿童桌: 我得到错误为:错误:关系“financial_plan_subplan”的列“internal_plan_id_internal_plan_id”不存在。 financial_subplan中用于映射的现有列名是

  • 我有一个实体,看起来像这样: 输入数据是一个