如何转换 Map<K, V>
进入列表List<K> keys
, List<V> values
,使得 keys
中的顺序和 values
匹配?我只能找到 Set<K> Map#keySet()
和 Collection<V> Map#values()
我可以使用以下方法将其转换为列表:
List<String> keys = new ArrayList<String>(map.keySet());
List<String> values = new ArrayList<String>(map.values());
但我担心顺序会随机。
我必须手动转换它们是否正确,或者某处是否有快捷方式?
更新:由于答案,我能够找到额外的有用信息,我想与您分享,随机的谷歌用户: How to efficiently iterate over each Entry in a Map?
最佳答案
使用 Map.entrySet():
List<String> keys = new ArrayList<>(map.size());
List<String> values = new ArrayList<>(map.size());
for(Map.Entry<String, String> entry: map.entrySet()) {
keys.add(entry.getKey());
values.add(entry.getValue());
}
关于java - 如何在保持顺序的同时将 Map<K, V> 转换为两个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15881422/