map集合

1.map特点

//注map集合没有继承Collection接口
map根据他的ascii值来自然排序
1.map中的泛型是键值对关系
map<键位,值位>

2.map添加值
(1)map.put(键,值)

public static void main(String[] args) {
//定义map集合
		Map<Integer,String> map=new HashMap<Integer, String>();
		//添加值
		map.put(1,"花花");
		map.put(2, "好好");
		map.put(3, "白白");
		
	}

(2)map取值
map.get(键值);//注输入键位获取值位

public static void main(String[] args) {
		Map<Integer,String> map=new HashMap<Integer, String>();
		map.put(1,"花花");
		map.put(2, "好好");
		map.put(3, "白白");
		//获取值位
		String string =map.get(1);
		
	}

3.map只能用迭代器取值

4.map中键位 不可以重复,但值位可以重复(如果重复则为覆盖)

map中的迭代器

1.迭代所有的键位

在这里插入代码片public static void main(String[] args) {
		Map<Integer,String> map=new HashMap<Integer, String>();
		map.put(1,"花花");
		map.put(2, "好好");
		map.put(3, "白白");
		//获取所有键值存入一个set集合中
		Set<Integer> keySet = map.keySet();
		
		for (Integer i : keySet) {
			System.out.println(i);
		}
		
		
	}

输入如下
在这里插入图片描述
2.获取所有的值位

public static void main(String[] args) {
		Map<Integer,String> map=new HashMap<Integer, String>();
		map.put(1,"花花");
		map.put(2, "好好");
		map.put(3, "白白");
		//获取所有值位
		Collection<String> values = map.values();
		for (String s : values) {
			System.out.println(s);
		}
		
	}

输出如下
在这里插入图片描述

3.迭代器取值

public static void main(String[] args) {
		Map<Integer,String> map=new HashMap<Integer, String>();
		map.put(1,"花花");
		map.put(2, "好好");
		map.put(3, "白白");
		//迭代器取值
		Set<Entry<Integer, String>> entrySet = map.entrySet();
		for (Entry<Integer, String> entry : entrySet) {
			System.out.println(entry.getKey()+","+entry.getValue());
		}
	}

输出如下
在这里插入图片描述

map的实现接口

1.Hashmap与 Hashtable

Hashmap与 Hashtable的区别
1.二者是不同的jdk Hashtable是jdk1.1出来的,Hashmap是jdk1.2出来的
2.Hashmap值可以放空值,Hsahtable不能放空值
3.Hashtable中线程有锁旗标运行慢安全
Hashmap中运行快

2.TreeMap存储K-V键值对,通过红黑树(R-B tree)实现;
TreeMap继承了NavigableMap接口,NavigableMap接口继承了SortedMap接口,可支持一系列的导航定位以及导航操作的方法,当然只是提供了接口,需要TreeMap自己去实现;
TreeMap实现了Cloneable接口,可被克隆,实现了Serializable接口,可序列化;
TreeMap因为是通过红黑树实现,红黑树结构天然支持排序,默认情况下通过Key值的自然顺序进行排序
//注.关于红黑树结构请看
以下文章
https://blog.csdn.net/a29562268/article/details/80809344

3.LinkedHashMap跟HashMap一样,它也是提供了key-value的存储方式,并提供了put和get方法来进行数据存取。
LinkedHashMap是有序的,且默认为插入顺序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值