gpt4 book ai didi

java - 嵌套映射结构

转载 作者:行者123 更新时间:2023-12-01 18:22:55 26 4
gpt4 key购买 nike

我有一个这样定义的 map :

Map<Long, Long> foo = new TreeMap<Long, Long>();

对于映射中的每个条目,我还想将这些条目映射到 boolean 值。我怎样才能做到这一点?这是我到目前为止所尝试的,但看起来不正确。我想要实现的是,对于 mask 中的每个条目,都应该有一个相应的 Boolean 值被分配给它。

Map<Long, Boolean> mask = new HashMap<Long, Boolean>();
SortedMap<Long, Map<Long, Boolean>> pairs = new TreeMap<Long, Map<Long, Boolean>>();

mask.put(new Long(2), Boolean.FALSE);
mask.put(new Long(3), Boolean.FALSE);
mask.put(new Long(3), Boolean.FALSE);

pairs.put(new Long(1), new Long(2));
pairs.put(new Long(1), new Long(3));
pairs.put(new Long(2), new Long(3));

限制是我只能使用内置类型。我之前有一个解决方案,它有一个自定义对象,可以让我轻松实现此目的,但由于项目设计,我无法创建新类型。

最佳答案

创建一个封装这两个值的类并制作其映射:

class Pair {
public final boolean booleanValue;
public final long longValue;

public Pair(boolean booleanValue, long longValue) {
this.booleanValue = booleanValue;
this.longValue = longValue;
}
}

Map<Long,Pair> map = new HashMap<>();

map.put(1L, new Pair(false, 123));
map.put(2L, new Pair(true, 456));
map.put(3L, new Pair(false, 789));

或者使用两个具有相同键的映射:

Map<Long,Boolean> map1 = new HashMap<>();
Map<Long,Long> map2 = new HashMap<>();

map1.put(1L, false); map2.put(1L, 123L);
map1.put(2L, true); map2.put(2L, 456L);
map1.put(3L, false); map2.put(3L, 789L);

关于java - 嵌套映射结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com