Map的遍历方法
程序员文章站
2022-03-21 21:10:31
...
Map的遍历方法
/*遍历map的两种方式: keySet和entrySet类*/
public class Demo1 {
public static void main(String[] args) {
HashMap<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "姓名");
map.put(2, "年龄");
map.put(3, "性别");
map.put(4, "住址");
System.out.println(map);
System.out.println();
/*--------------------将value值保存在集合里 用集合遍历 ---->只能获取map的value值----------------*/
Collection<String> col = map.values();
for (String string : col) {
System.out.println( "Collectin集合遍历map的value值: "+ string);
}
System.out.println();
/*-----------------第一种遍历方式:借助于keySet-->把map中的key值映射到set集合中------------------*/
Set<Integer> set = map.keySet();
//1.增强for循环直接遍历
for (String string : set) {
System.out.println("key值: " + string + " value值: " + map.get(string));
}
//2.使用Set集合的Iterator迭代器
Iterator<Integer> it = set.iterator();
while(it.hasNext()) {
int Key = it.next();
String value = map.get(Key);
System.out.println("使用Set接口中的迭代器遍历: " + Key + " = " + value);
}
System.out.println();
/*----------------------第二种遍历方式:借助于map的entrySet类----------------------------*/
/*一:.使用Collectin集合遍历Entry类,但Collection没有迭代器,不能修改其值
* 1.Entry是把键值对当做一个对象,从中获取键值对
* 2.注意在Collection中写Entry类有两种方式,其导入的包不同
* 3.下面的方法导入的包是分别是:
* import java.util.Map.Entry;
* import java.util.Map;
*/
//Collection<Map.Entry<Integer,String>> col1 = map.entrySet();
Collection<Entry<Integer,String>> col1 = map.entrySet();
for (Entry<Integer,String> entry:col1) {
System.out.println( "Collectin集合遍历Entry类: "+ entry);
}
System.out.println();
/*2.entry类加set接口和其迭代器的方法:
* 1.Entry是把键值对当做一个对象,从中获取键值对
* 2.注意在Set中写Entry类有两种方式,其导入的包不同
* 下面的方法导入的包是分别是:
* import java.util.Map.Entry;
* import java.util.Map;
*/
Set<Map.Entry<Integer,String>> set1 = map.entrySet();
// Set<Entry<Integer,String>> set1 = map.entrySet();
Iterator<Entry<Integer,String>> it1 = set1.iterator();
/*遍历法一:增强for循环,但不能修改其值*/
for (Entry<Integer, String> entry : set1) {
System.out.println("Set集合遍历Entry类:" + entry);
}
System.out.println();
/*遍历法二:迭代器遍历,也不能修改其值*/
while(it1.hasNext()) {
System.out.println("迭代器遍历Entry类: " + it1.next());
}
}
}
下一篇: Go - 排序函数(正序、逆序):