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

在Java中为Object添加多个元素

劳彦
2023-03-14
final Map<String, Object> enums = new HashMap<>();

enums.put("ZoneIds", gmtValues());

Zoneids枚举具有从此方法返回的列表 :

private static List<String> gmtValues() {
        return  ... // code omitted for brevity
    }


private static List<String> gmtNames() {
        return  ... // code omitted for brevity
    }

但是,我希望在同一个对象中传递另一个列表,然后在前端检索这两个传递的值,分别为zoneids.valuezoneids.name。那么,我该怎么做呢?

共有1个答案

韦宣
2023-03-14

以下选项是可能的:

  • “zoneids”是一个列表,其中名称按索引正确排序
{"ZoneIds": [["name1", "value1"], ["nameN", "valueN"]]}

然后,假设gmtnames()gmtvalues()返回的列表大小相等,就像这样联接名称/值:

List<String> names = gmtNames();
List<String> values = gmtValues();
List<List<String>> nameValueList = IntStream.range(0, Math.min(names.size(), values.size()))
    .mapToObj(i -> Arrays.asList(names.get(i), values.get(i)))
    .collect(Collectors.toList());
enums.put("ZoneIds", nameValueList);
    null
{"ZoneIds": [{"name":"name1", "value":"value1"}, {"name":"nameN", "value":"valueN"}]}
List<Map<String, String>> listMaps = IntStream.range(0, Math.min(names.size(), values.size()))
    .mapToObj(i -> Map.of("name", names.get(i), "value", values.get(i)))
    .collect(Collectors.toList());
enums.put("ZoneIds", listMaps);
    null
{"ZoneIds": {"name1":"value1", "nameN":"valueN"}}
Map<String, String> nameValueMap = IntStream.range(0, Math.min(names.size(), values.size()))
    .boxed()
    .collect(Collectors.toMap(
        names::get,    // key from names list
        values::get,   // value from values list
        (v1, v2) -> v1, // merge function in case of conflicts
        LinkedHashMap::new // keep insertion order
    ));
enums.put("ZoneIds", nameValueMap);

 类似资料:
  • 我有两个列表(列表A和列表B),我希望它们是独立的。因此,我可以将一个元素添加到列表 B,而无需修改 listA 的元素,以保持不变。 试用集合listB=Collections.unmodifiable集合(listA); 跑:[亚历克斯,布莱恩,查尔斯,威廉姆斯] 当我运行它时,我想只显示这些< br >运行:[alex,brian,charles] (没有“williams”)

  • 本文向大家介绍如何在Java ArrayBlockingQueue中添加元素?,包括了如何在Java ArrayBlockingQueue中添加元素?的使用技巧和注意事项,需要的朋友参考一下 要将元素添加到ArrayBlockingQueue类,请使用方法。 语法如下: 此处,ele是要添加到队列中的元素。 要使用ArrayBlockingQueue类,您需要导入以下包: 以下是在Java Arr

  • 问题内容: 我必须按照下面显示的方式创建一个表。我们可以这样创建吗?(如是) 表名称:样本 其中包含多个值的类别归档。 以及我们如何搜索类别4出现在表格的哪一行。 问题答案: 您无法创建嵌套表。而且您想到的并不是设计这样的桌子的好主意。您应该有两个表(如果是category,则恰好三个 表 包含描述)。一个用于,第二个表保存 每个产品 的 类别 。示例设计如下所示, 和填充样本记录 SQLFidd

  • 问题内容: 我有一个单击按钮时执行的功能。假设有一个循环将1到10加到。我将该数据添加到中。它完美地工作,并且数字相加。然后我在循环中添加了一个。但是输出是不同的。我想每秒增加1个元素。但是现在它等待10秒,并在第10秒结束时将所有1到10加在一起。我在哪里错了? 问题答案: 您应该在单独的线程中更新列表,否则最终将阻塞事件分发线程。 请尝试以下操作:

  • 问题内容: 如何将n小时添加到Date对象?我找到了另一个在StackOverflow上使用几天的示例,但仍然不知道如何使用小时。 问题答案: 检查日历类。它具有(和其他一些)允许时间操纵的方法。这样的事情应该起作用。

  • 我的问题在我的main方法中,如何向链表中添加多个节点....我现在先从节点2和节点3开始..我以为我添加了这些节点,但是我意识到我并没有对这些节点和它们的值做任何事情,对吗?如何使用setData()和setNext()来添加所有这些节点?这有意义吗? 如果上面设置了值,如何将它们全部添加? 然后,我需要为每一项设置数据和下一步吗?(这似乎是多余的,因为我似乎在上面的构造函数中设置了每个节点的值