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存值问题的研究相关推荐

  1. cookie存值和page分页

    一.page分页 1.dao层 List<ClaimVoucher> findAll(@Param("map")HashMap<String,Object> ...

  2. Session存值取值问题及取不到值的问题

    Session存值取值问题及取不到值的问题 一.存值(相当于map) request.getSession().setAttribute("key", value); 二.取值 r ...

  3. 微信小程序动画渐入以及动态存值setdata问题

    微信小程序动画渐入以及动态存值setdata问题 想要在微信小程序中制作多个元素逐一渐入的效果,效果类似下图: 首先参考微信开发文档API动画部分的内容 开发文档API–动画Animation 创建动 ...

  4. c++ map通过值找键与通过键找值得方法(全)

    map 通过值找键 count find 通过键找值 通过值找键 count if (ans.count(key1)) //查键cout << ans[key1] << end ...

  5. 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 ...

  6. cookies的存值问题

    2019独角兽企业重金招聘Python工程师标准>>> cookies存值问题,项目中遇到问题初始化时由于cookies中存在冒号导致存到cookies中时取出来被转码了,冒号的转码 ...

  7. scala中map添加值_如何在Scala Map中反转键和值

    scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...

  8. 基于ImagePy工具的岩块图像二值化分割研究

    看到自己一年前在知乎提的问题了,忍不住回答下. 下面这个是论文录用后修改稿,文末有编辑的评语. 基于ImagePy工具的岩块图像二值化分割研究 摘 要:在岩块图像分析识别前的预处理工作中,为了平滑岩块 ...

  9. 全球存算一体技术研究及量产情况最新进展(收录于存算一体芯片赛道投资融资分析)

    编者注: 随着技术研发的推进,存算一体技术逐渐由学术研究进入到产品研发阶段. 在存算一体赛道上,各家有各自不同的产品路线和存储器单元选择. 有的坚持走核心技术自研路线,有的则采纳国外先进IP核心. 需 ...

最新文章

  1. amd64 与 ia64的区别
  2. php传值到模板,laravel 实现向公共模板中传值 (view composer)
  3. python获取路径下所有图片:
  4. Leetcode1710. 卡车上的最大单元数[C++题解]:贪心
  5. kindle 3快捷键
  6. Pixhawk代码分析-源码框架
  7. apache rewrite 二级域名
  8. lambdas 排序_Java8 Lambdas:解释性能缺陷的排序
  9. qt中解析json字符串的时候出现错误missingNameSeperator
  10. InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': ')' is not a valid
  11. Python 柱状图 横坐标 名字_Python气象绘图教程(四)
  12. STM32零碎问题记录
  13. 在hisi上QT交叉编译过程(带webengine)
  14. (转)金融“核武器”即将引爆整个行业
  15. 【python数据处理】替代Excel三维地图依据经纬度坐标的绘制热力地图的方式
  16. 分布式事务之两阶段提交
  17. 联想ghost重装系统_联想电脑y485 重装系统
  18. git与github从入门到精通
  19. 生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS 协议所定义的严重错误代码是...
  20. 密码找回,验证码绕过漏洞详解

热门文章

  1. 从生态、业绩角度分析芯片行业
  2. 小脑过度活跃,会引起整个大脑的问题
  3. 测试归测试,自动驾驶向个人全面开放依然长路漫漫
  4. 德国再出颠覆性发明,这次要安排我们的快递
  5. 雁栖湖会议研讨:计算机能代替程序员吗?
  6. 辞退了一名 2 年工作经验的前端工程师
  7. 《互联网人求职图鉴》:这类人才“最吃香”,最高薪编程语言出炉!
  8. 被公司圈养的年轻人,如何避免被市场淘汰?
  9. 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...
  10. 超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码)。...