我想存储值并从Java HashMap中检索它们.
这是我到目前为止:
public void processHashMap()
{
HashMap hm = new HashMap();
hm.put(1,"godric gryfindor");
hm.put(2,"helga hufflepuff");
hm.put(3,"rowena ravenclaw");
hm.put(4,"salazaar slytherin");
}
Run Code Online (Sandbox Code Playgroud)
我想从HashMap中检索所有键和值作为Java集合或实用程序集(例如LinkedList).
如果我知道密钥,我知道我可以获得价值,如下所示:
hm.get(1);
Run Code Online (Sandbox Code Playgroud)
有没有办法将键值检索为列表?
Joo*_*ost 35
我使用这三种方法来迭代地图.所有的方法(keySet,values,entrySet)返回一个集合.
// Given the following map
Map<KeyClass, ValueClass> myMap;
// Iterate all keys
for (KeyClass key : myMap.keySet())
System.out.println(key);
// Iterate all values
for (ValueClass value : myMap.values())
System.out.println(value);
// Iterate all key/value pairs
for (Entry<KeyClass, ValueClass> entry : myMap.entrySet())
System.out.println(entry.getKey() + " - " + entry.getValue());
Run Code Online (Sandbox Code Playgroud)
由于Java 8我经常使用带有lambda表达式的Streams.
// Iterate all keys
myMap.keySet().stream().forEach(key -> System.out.println(key));
// Iterate all values
myMap.values().parallelStream().forEach(value -> System.out.println(value));
// Iterate all key/value pairs
myMap.entrySet().stream().forEach(entry -> System.out.println(entry.getKey() + " - " + entry.getValue()));
Run Code Online (Sandbox Code Playgroud)
小智 14
Java Hashmap键值示例:
public void processHashMap() {
//add keys->value pairs to a hashmap:
HashMap hm = new HashMap();
hm.put(1, "godric gryfindor");
hm.put(2, "helga hufflepuff");
hm.put(3, "rowena ravenclaw");
hm.put(4, "salazaar slytherin");
//Then get data back out of it:
LinkedList ll = new LinkedList();
Iterator itr = hm.keySet().iterator();
while(itr.hasNext()) {
String key = itr.next();
ll.add(key);
}
System.out.print(ll); //The key list will be printed.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93215 次 |
| 最近记录: |