我有一个LinkedHashMap < String, String > map
.
List < String > keyList;
List < String > valueList;
map.keySet();
map.values();
有没有一种简单的方法可以从 map.keySet() 填充 keyList 和从 map.values() 填充 valueList,还是我必须迭代?
我有一个LinkedHashMap < String, String > map
.
List < String > keyList;
List < String > valueList;
map.keySet();
map.values();
有没有一种简单的方法可以从 map.keySet() 填充 keyList 和从 map.values() 填充 valueList,还是我必须迭代?
大多数集合接受Collection
作为构造函数参数:
List<String> keyList = new ArrayList<String>(map.keySet());
List<String> valueList = new ArrayList<String>(map.values());
当然!
keyList.addAll(map.keySet());
或者您也可以在创建时传递它
List<String> keyList = new ArrayList<String>(map.KeySet());
http://download.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html
使用 java 8 的不同方法 -
List<String> valueList = map.values().stream().collect(Collectors.toList());
List<String> keyList = map.keySet().stream().collect(Collectors.toList());
笔记:
stream()
Object
- 返回将集合(此处为map
)视为源 的序列
Collectors
- 收集器用于组合对流元素的处理结果。