欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

遍历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()方法来获取键和值
		}
		
	}

}