Map存值问题的研究
2019独角兽企业重金招聘Python工程师标准>>>
java中在map中存取值操作
在java中map是使用键值对的形式存在的这与数组非常的相似。Map是一个接口它当中包括:HashTable,HashMap,TreeMap等实现类!
对map操作的方法有以下几种,通过这些方法将Map中的内容进行修改:
clear()从Map中清除所有的映射。
remove(指定的键)从Map中删除键和与之关联的值!
put(键,值)在map集合中添加一组键值对。
putAll(Map)将指定的Map复制到此映射中!
HashMap是一个最常用的Map,它是根据键值一一对应的关系来存储数据!根据键可以直接获取到它对应的值。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。(其实也不是不允许多条记录为null,因为看下面我写的代码):
public static void printHashMap(){//操作HashMap()的方法!!hashMap是无序的Map<String, String> map=new HashMap<String, String>();map.put(null,"??");map.put(null, "4");map.put("fasda","fasd");System.out.println(map); }
输出的结果就是:
{null=4, fasda=fasd}
可见map.put(null,"??");没有附上值(其实也不是没有付上值只不过后来的map.put(null,"4")将上面的值覆盖了)
HashTable实现一个映象,它不允许所有的键值对为空,但是他允许键值为“”(空字符串)。
Hashtable<String,String> map=new Hashtable<String,String>();//操作HashTable的方法!!!无序的map.put("","01");//map.put(null,"02");map.put("03","03");map.put("04","04");System.out.println(map);Iterator<String> iterator=map.keySet().iterator();while(iterator.hasNext()){Object key=iterator.next();System.out.println(map.get(key));}
输出结果是:
{03=03, 04=04, =01} 03 04 01
如果将上面的map.put(null,"02")放开的话就会报空指针异常:
Exception in thread "main" java.lang.NullPointerExceptionat java.util.Hashtable.hash(Unknown Source)at java.util.Hashtable.put(Unknown Source)at map.MyMapClass.printHashtable(MyMapClass.java:30)at map.MyMapClass.main(MyMapClass.java:13)
TreeMap默认为是升序排序,可以指定排序用的比较器,但是比较器必须实现Comparator接口。只有TreeMap才能够把保存的记录根据键排序,因此,可以把其他Map转化为TreeMap,转化的方法就是把其他的Map对象作为参数狗仔TreeMap即可。
Map中存值问题,当一个键值对应存一个值后,再次操作对应的键存值,则会清空原本的键对应的值,存入新的值。
转载于:https://my.oschina.net/u/3457493/blog/919704
Map存值问题的研究相关推荐
- cookie存值和page分页
一.page分页 1.dao层 List<ClaimVoucher> findAll(@Param("map")HashMap<String,Object> ...
- Session存值取值问题及取不到值的问题
Session存值取值问题及取不到值的问题 一.存值(相当于map) request.getSession().setAttribute("key", value); 二.取值 r ...
- 微信小程序动画渐入以及动态存值setdata问题
微信小程序动画渐入以及动态存值setdata问题 想要在微信小程序中制作多个元素逐一渐入的效果,效果类似下图: 首先参考微信开发文档API动画部分的内容 开发文档API–动画Animation 创建动 ...
- c++ map通过值找键与通过键找值得方法(全)
map 通过值找键 count find 通过键找值 通过值找键 count if (ans.count(key1)) //查键cout << ans[key1] << end ...
- Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究
Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究 在github上阅览README.md以获得最佳阅读体验,点这里 v-for响应式key ...
- cookies的存值问题
2019独角兽企业重金招聘Python工程师标准>>> cookies存值问题,项目中遇到问题初始化时由于cookies中存在冒号导致存到cookies中时取出来被转码了,冒号的转码 ...
- scala中map添加值_如何在Scala Map中反转键和值
scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...
- 基于ImagePy工具的岩块图像二值化分割研究
看到自己一年前在知乎提的问题了,忍不住回答下. 下面这个是论文录用后修改稿,文末有编辑的评语. 基于ImagePy工具的岩块图像二值化分割研究 摘 要:在岩块图像分析识别前的预处理工作中,为了平滑岩块 ...
- 全球存算一体技术研究及量产情况最新进展(收录于存算一体芯片赛道投资融资分析)
编者注: 随着技术研发的推进,存算一体技术逐渐由学术研究进入到产品研发阶段. 在存算一体赛道上,各家有各自不同的产品路线和存储器单元选择. 有的坚持走核心技术自研路线,有的则采纳国外先进IP核心. 需 ...
最新文章
- amd64 与 ia64的区别
- php传值到模板,laravel 实现向公共模板中传值 (view composer)
- python获取路径下所有图片:
- Leetcode1710. 卡车上的最大单元数[C++题解]:贪心
- kindle 3快捷键
- Pixhawk代码分析-源码框架
- apache rewrite 二级域名
- lambdas 排序_Java8 Lambdas:解释性能缺陷的排序
- qt中解析json字符串的时候出现错误missingNameSeperator
- InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': ')' is not a valid
- Python 柱状图 横坐标 名字_Python气象绘图教程(四)
- STM32零碎问题记录
- 在hisi上QT交叉编译过程(带webengine)
- (转)金融“核武器”即将引爆整个行业
- 【python数据处理】替代Excel三维地图依据经纬度坐标的绘制热力地图的方式
- 分布式事务之两阶段提交
- 联想ghost重装系统_联想电脑y485 重装系统
- git与github从入门到精通
- 生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS 协议所定义的严重错误代码是...
- 密码找回,验证码绕过漏洞详解
热门文章
- 从生态、业绩角度分析芯片行业
- 小脑过度活跃,会引起整个大脑的问题
- 测试归测试,自动驾驶向个人全面开放依然长路漫漫
- 德国再出颠覆性发明,这次要安排我们的快递
- 雁栖湖会议研讨:计算机能代替程序员吗?
- 辞退了一名 2 年工作经验的前端工程师
- 《互联网人求职图鉴》:这类人才“最吃香”,最高薪编程语言出炉!
- 被公司圈养的年轻人,如何避免被市场淘汰?
- 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...
- 超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码)。...