map集合

目录

map集合的特点

map集合遍历方式

方式一

方式二

HashMap与HashTable之间的区别 

Map集合3层嵌套使用

效果图


map集合的特点

//map集合的特点。无序,键值对,键不可以重复,值可以重复

map集合遍历方式

方式一

//map集合的遍历方式 1,获取map集合中的所有key的set集合,再通过key获取值
        Set<String> keySet = map.keySet();
        
        for (String key : keySet) {
            //System.out.println(key);
            //通过键获取对应的值
            Object value = map.get(key);
            System.out.println(key+"="+value);
        }

方式二

//map遍历方式 2.先取出所有保存所有键值对(Entry)的set,在遍历此set即可
		
		Set<Entry<String, Object>> entrySet = map.entrySet();
		
		for (Entry<String, Object> entry : entrySet) {
			System.out.println(entry);
			System.out.println(entry.getKey());
			System.out.println(entry.getValue());
		}

HashMap与HashTable之间的区别
 

同步既排队  线程安全的    

hashtable  键不可以为null,值也不能null


异步,非安全的

hashmap  键可以为null,值也可以为null

Map集合3层嵌套使用

package com.zking.aa;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class zy4 {
	
	public static void main(String[] args) {
		
		List<Student> ls1 = new LinkedList<Student>();
		List<Student> ls2 = new LinkedList<Student>();
		List<Student> ls3 = new LinkedList<Student>();
		List<Student> ls4 = new LinkedList<Student>();
		List<Student> ls5 = new LinkedList<Student>();
		List<Student> ls6 = new LinkedList<Student>();
		List<Student> ls7 = new LinkedList<Student>();
		ls1.add(new Student("张晓东",90));
		ls1.add(new Student("张晓西",75));
		ls2.add(new Student("张晓北",80));
		ls2.add(new Student("张晓南",82));
		ls3.add(new Student("张三",90));
		ls3.add(new Student("李四",100));
		ls4.add(new Student("王五",70));
		ls4.add(new Student("小六",100));
		ls5.add(new Student("小八",70));
		ls5.add(new Student("小九",100));
		ls6.add(new Student("可乐",60));
		ls6.add(new Student("雪碧",50));
		ls7.add(new Student("哇哈哈",90));
		ls7.add(new Student("老干妈",80));
		
		Map<String, List<Student>> amap = 
				new HashMap<String,List<Student>>();
		amap.put("T110", ls1);
		amap.put("T111", ls2);
		Map<String, List<Student>> bmap = 
				new HashMap<String,List<Student>>();
		bmap.put("T206", ls3);
		bmap.put("T222", ls4);
		bmap.put("T208", ls5);
		Map<String, List<Student>> cmap = 
				new HashMap<String,List<Student>>();
		cmap.put("T230", ls6);
		cmap.put("T231", ls7);
		

		Map<String, Map<String,List<Student>>> map = 
				new HashMap<String, Map<String,List<Student>>>();
		map.put("卓京小学部", amap);
		map.put("卓京初中部", amap);
		map.put("卓京大学部", amap);
		
		Set<String> keySet = map.keySet();
		for (String key : keySet) {
			Map<String, List<Student>> value = map.get(key);
			System.out.println(key);
			Set<String> keySet2 = value.keySet();
			for (String key2 : keySet2) {
				System.out.println(key2);
				List<Student> ls = value.get(key2);
				for (Student stu : ls) {
					System.out.println(stu.getName()+"  "+stu.getFs());
				}
			}
		}

	}
}

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值