遍历Map集合的两种常用方式
程序员文章站
2024-02-14 22:55:10
...
Map集合与Collection集合的区别在于:
Collection集合存放的是单列的数据结构,它针对的是元素
Map集合存储的是键值对,即双列
Map集合特点:
1.Map的键是唯一的,所有的数据结构针对的都是键(Key)
2.根据key键来排重,也就是说,相同键的元素,在Map集合中只存储一份
3.键和值,要求都是引用数据类型
4.无序(存储顺序和底层存储顺序不同)
key是无序的,唯一的;value是无序的,不唯一的
遍历Map的两种方式:
1.Set<key> set = Map.keySet() 获取key的set集合
package Homework;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<Integer,String> hm = new HashMap<>();
hm.put(1, "张三");
hm.put(2, "李四");
hm.put(3, "王五");
hm.put(4, "赵六");
Set<Integer> set = hm.keySet();
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
int i = it.next();
System.out.println(i+"::::"+hm.get(i));
}
}
}
2.Set<Map.Entry<key,value>> set = Map.entrySet(); 使用此方法获取键值对,进行存储,将此关系存储到Set集合中
package Homework;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<Integer,String> hm = new HashMap<>();
hm.put(1, "张三");
hm.put(2, "李四");
hm.put(3, "王五");
hm.put(4, "赵六");
Set<Map.Entry<Integer, String>> set = hm.entrySet();
Iterator<Entry<Integer, String>> it = set.iterator();
while(it.hasNext()){
Map.Entry<Integer, String> en = it.next(); //获取键值对之间的对应关系
System.out.println(en.getKey()+"----"+en.getValue()); //通过getKey()和getValue()方法来获取键和值
}
}
}