遍历Map的方法
方法一
通过Map.entrySet遍历key和value
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < 10; i++) {
map.put((char) (i + 61), i);
}
for (Map.Entry<Character, Integer> map_1 : map.entrySet()) {
System.out.println("Key = " + map_1.getKey() + ", Value = " + map_1.getValue());
}
}
输出
Key = @, Value = 3
Key = A, Value = 4
Key = B, Value = 5
Key = C, Value = 6
Key = D, Value = 7
Key = E, Value = 8
Key = F, Value = 9
Key = =, Value = 0
Key = >, Value = 1
Key = ?, Value = 2
方法二
通过遍历key,通过键找值value
public static void main(String[] args) {
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < 10; i++) {
map.put((char) (i + 61), i);
}
for (char map_2 : map.keySet()){
System.out.println(map.get(map_2));
}
}
}
输出
3
4
5
6
7
8
9
0
1
2
在这里插入代码片
方法三
如果只需要map中的键或者值,你可以通过Map.keySet或Map.values来实现遍历
public static void main(String[] args) {
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < 10; i++) {
map.put((char) (i + 61), i);
}
for (char map_3 : map.keySet()){
System.out.println(map_3);
}
for (Integer map_4: map.values()) {
System.out.println(map_4);
}
}
方法四
通过Map.entrySet使用iterator遍历key和value
public static void main(String[] args) {
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < 10; i++) {
map.put((char) (i + 61), i);
}
Iterator<Map.Entry<Character, Integer>> map_5 = map.entrySet().iterator();
while (map_5.hasNext()) {
Map.Entry<Character, Integer> entry = map_5.next();
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
}
输出:
Key = @, Value = 3
Key = A, Value = 4
Key = B, Value = 5
Key = C, Value = 6
Key = D, Value = 7
Key = E, Value = 8
Key = F, Value = 9
Key = =, Value = 0
Key = >, Value = 1
Key = ?, Value = 2
Map常用的方法
map.getOrDefault(index, default); // 获取索引位置的值,若为null,则为默认值default
map.getKey(); // 获取指定value的key
map.getValue(); // 获取指定key的value
map.keySet(); // 获取哈希表的键值集合
map.values(); // 获取哈希表的值集合