Map的一次小小记录和学习
程序员文章站
2022-12-11 09:48:53
对于Map集合不太熟悉,所以这次进行加强学习。 Map是一个键值对的集合,key是一个Set集合,value是一个Collection的集合 实现类有三种。HashMap,TreeMap,HashTable。 其中HashMap底层是一个哈希表,键值都可以是null TreeMap 底层是一个二叉树 ......
对于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大道中走出的一小步
下一篇: C++入门教程之内存和指针
推荐阅读
-
js和jquery中循环的退出和继续学习记录
-
Map的一次小小记录和学习
-
使用ForkJoin解决0到1百亿的求和问题-----一次测试和调优记录,掌握ForkJoinPool的核心用法
-
一次Pandas踩坑记录(为什么Dataframe创建时指定的列名和列不对应)
-
学习记录—回调函数和指针函数的运用
-
md-laravel的数据库迁移和填充学习记录
-
Excel自动记录单元格第一次输入与最后一次输入的日期和时间
-
python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_
-
js和jquery中循环的退出和继续学习记录
-
第一次开始尝试写,当记录自己的学习状态吧(学习驱动之史)