有没有谁知道如何将地图转换到一个列表转换一个映射到列表
我发现这里是这样的:
List<Value> list = new ArrayList<Value>(map.values());
但是这是要存储的仅仅是价值该地图列表
我想要做的是:关键&的值复制到列表
那么,你知道如何实现这一目标?
有没有谁知道如何将地图转换到一个列表转换一个映射到列表
我发现这里是这样的:
List<Value> list = new ArrayList<Value>(map.values());
但是这是要存储的仅仅是价值该地图列表
我想要做的是:关键&的值复制到列表
那么,你知道如何实现这一目标?
这会给你的地图项的列表:
List<Map.Entry<Key, Value>> list =
new ArrayList<Map.Entry<Key, Value>>(map.entrySet());
供参考,条目有getKey()
和getValue()
方法。
尝试存储map
的Map.Entry
S:
new ArrayList<Entry<Key, Value>>(map.entrySet());
例子:
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Hello", 0);
map.put("World!", 1);
ArrayList<Entry<String, Integer>> list =
new ArrayList<Entry<String, Integer>>(map.entrySet());
System.out.println(list.get(0).getKey() + " -> " + list.get(0).getValue());
}
@Bohemian和@dacwe都是对的。另外我会说:在大多数情况下,您不必创建自己的列表。只需使用map.entrySet()
。它返回Set,但Set只是一个允许遍历其元素的Collection。在95%的案例中迭代已经足够。你可以做
的方法之一是将像所有的按键创建列表:
List list = new ArrayList(map.keySet());
然后加入像所有的值:
list.addAll(map.values);
然后可能你已经与索引访问例如: 如果地图大小为10,则知道列表中有20个元素。 所以你必须编写一个逻辑来访问列表中的键值,并正确计算索引,例如:size/2。 我不确定这是否有助于您的要求。
地图和列表是不同的数据结构,你想如何将地图键和值组合到列表中? – beny23
您能否详细说明“将密钥和值复制到列表中”的含义? – aioobe
我知道,但我必须这样做 –