Map的一次小小记录和学习
2018-09-01 05:40:36来源:博客园 阅读 ()
对于Map集合不太熟悉,所以这次进行加强学习。
Map是一个键值对的集合,key是一个Set集合,value是一个Collection的集合
实现类有三种。HashMap,TreeMap,HashTable。
其中HashMap底层是一个哈希表,键值都可以是null
TreeMap 底层是一个二叉树,支持健排序
HashTable 也是一个哈希表,键值都不可为null,这个可能已经过时了。
如何遍历Map,有很多种方法。这边主要说2种
1. Entry
2. Iterator
Entry:
Map<String, String> map = new HashMap<>(); map.put("chashaobao1", "123"); map.put("chashaobao2", "1234"); map.put("chashaobao3", "1235"); map.put("chashaobao4", "1236"); for(Entry<String, String> s : map.entrySet()) { System.out.println(s); }
打印的结果:
chashaobao1=123
chashaobao2=1234
chashaobao3=1235
chashaobao4=1236
Iterator iter = map.entrySet().iterator(); while(iter.hasNext()){ Entry<String, String> et = (Entry<String, String>) iter.next(); System.out.println("----------"); System.out.println(et.getKey()); System.out.println(et.getValue()); }
打印的结果:
----------
chashaobao1
123
...........(此处省略)
----------
chashaobao4
1236
结论:都是得到entry对象然后调取方法,获取键值。这些方法都不唯一。还有很多方法可以遍历Map
在Map集合里面还有containskey() 方法来判断是否存有对应的键名.使用containskey可以避免出现一些奇怪的问题.
因为HashMap是允许Null作为键值,所以如果get(),可能会出现判断不了的情况。一种是在集合中没有该键对象,另一种是该键对象为null。
这是我对Map的一些浅薄的见解,如有什么不对,请大神指出。虽然感觉看到的人也不多。算是对自己的学习记录一下。
目前正是一个Java的小菜鸟在IT大道中走出的一小步
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:分布式缓存:爱我你怕了吗?
下一篇:Redis分区
- 深入解析ThreadLocal和ThreadLocalMap 2020-06-08
- 头条面试居然跟我扯了半小时的Semaphore 2020-06-08
- Invalid [xxx] in servlet mapping 、 <url-pattern& 2020-06-07
- HashMap:源代码(构造方法、put、resize、get、remove、rep 2020-06-04
- Java Spring注入一个接口的多个实现类在map里如何实现?案 2020-06-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash