Map储存键值对

Map  储存键值对  键是名字,值是存储对象

key可以为空的但只能有一个为空

Map map=new HashMap();

//存储数据

map.put("A1","张三");

map.put(null,null);

map.put(2,null);

//可以直接打印出来

System.out.println(map);

//可以通过存入的key获取存入的对象

Object  obj=map.get("A1");//获取A1对应的value值

System.out.println(obj);

//通过key删除键值对返回的是删除的value值找不到则返回null

Object rem_obj=map.remove("A2");

System.out.println("删除的value值:"+rem_obj);

//是否包含key,返回Boolean

map.containsKey("A1");

 

//是否包含value,返回Boolean

map.containsValue("张三");

 

//获取所有的key  [A1, null, 2]

Setsetkey=map.keySet();

System.out.println(setkey);

//获取所有的key  [张三, null, null]

Collectioncon=map.values();

System.out.println(con);

 

 

TreeMap

TreeMap的底层实现是TreeSet

HashMap的底层实现是HashSet

key因该是可比较的

key不能为null, key是唯一的

value值可以为null

Hashtable线程安全的集合

key和value都不可以为null

Hashtable ht=new Hashtable<>();

ht.put("t1","阿斯弗给");

System.out.println(ht);

//ConcurrentHashMap  线程安全效率高

ConcurrentHashMap  chm;

//HashMap底层实现数组加链表

//数组的默认容量是16,

//每次扩容两倍向左移一位

//容量阈值达到容量的0.75就开始扩容

//一个链达到8就对该链进行树化

//一支树上的元素低于6个这个树就会退化成链

//最小树化容量阈值64

//如果数组的树化阈值没有达到64则优先树化

HashMaphmap=newHashMap();

hmap.put("a1","ahsfs");

线程安全的Map  HashMap   ConcurrentHashMap(性能优异,锁颗粒度比较小)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值