HashMap哈希表

HashMap哈希表+链表+红黑树  结构实现 线程不安全
TreeMap底层是红黑树的实现,key类型必须实现Comparable接口
HashTable哈希表+链接+红黑树 结构实现,线程安全

Map接口

  键值对存储   key value,键不能重复,值可以重复。

 

HashMap<String, String> map = new HashMap<>();
map.put(null,"A");//添加key value
map.put("b","B");//只能允许存储一个为null的键
map.put("c","C");
map.put("d","D");
map.put("e","E");
map.put("e","EE");//会覆盖上一个
map.remove("a");//移除 key为a
System.out.println(map.get("a"));//得到key为a 的value
System.out.println(map.containsKey("b"));//是否含有key为b
System.out.println(map.containsValue("C"));//是否含有value为C的key
System.out.println(map);

哈希表可以存储一个为null的键。

而哈希树不可以,因为其线程是安全的。

 

/*
 Map底层为了方便遍历  将键值对存到一个entry对象中,将多个entry对象放到Set集合中
 */
Set<Map.Entry<String,String>> entrySet=map.entrySet();
   for(Map.Entry<String,String> entry:entrySet){
       System.out.println(entry.getKey()+"-"+entry.getValue());
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值