在java商城开发中map集合的put方法(Object key, Object value)添加一个“值”(想要得东西)和与“值”相关联的“键”(key)(使用它来查找)。方法get(Object key)返回与给定“键”相关联的“值”。可以用containsKey()和containsValue()测试Map中是否包含某个“键”或“值”。 标准的Java类库中包含了几种不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它们都有同样的基本接口Map,但是行为、效率、排序策略、保存对象的生命周期和判定“键”等价的策略等各不相同。

在jsp商城开发中执行效率是Map的一个大问题。看看get()要做哪些事,就会明白为什么在ArrayList中搜索“键”是相当慢的。而这正是HashMap提高速 度的地方。HashMap使用了特殊的值,称为“散列码”(hash code),来取代对键的缓慢搜索。“散列码”是“相对唯一”用以代表对象的int值,它是通过将该对象的某些信息进行转换而生成的。所有Java对象都 能产生散列码,因为hashCode()是定义在基类Object中的方法。

HashMap就是使用对象的hashCode()进行快速查询的。此方法能够显着提高性能。

Map : 维护“键值对”的关联性,使你可以通过“键”查找“值”

HashMap:Map基于散列表的实现。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量capacity和负载因子load factor,以调整容器的性能。

LinkedHashMap: 类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点。而在迭代访问时发而更快,因为它使用链表维护内部次序。

TreeMap : 基于红黑树数据结构的实现。查看“键”或“键值对”时,它们会被排序(次序由Comparabel或Comparator决定)。TreeMap的特点在 于,你得到的结果是经过排序的。TreeMap是唯一的带有subMap()方法的Map,它可以返回一个子树。

WeakHashMao :弱键(weak key)Map,Map中使用的对象也被允许释放: 这是为解决特殊问题设计的。如果没有map之外的引用指向某个“键”,则此“键”可以被垃圾收集器回收。

转载于:https://my.oschina.net/nly/blog/294950

在java商城开发中map集合的应用相关推荐

  1. java对list中map集合中某个字段排序

    java对list中map集合中某个字段排序 适用于字符串排序,数字对比不可用,以下示例,当把sort的值改为74,66,142时排序不对看示例2 示例1 List<Map<String, ...

  2. java 中map_Java中Map集合

    1. Java中Map集合 1. Map中value可以重复,key不能重复.对于重复的key值来说,后放置的值对覆盖前放置的值. import java.util.HashMap; public c ...

  3. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  4. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  5. java与freemarker中map的遍历

    java中部分时间都是要的是list集合,偶尔会使用到map集合,但是经常会忘记map集合的如何遍历,今天记录下: java中的遍历 import java.util.Collection; impo ...

  6. java sessionstate_在Java Web开发中自定义Session

    Session在存储安全性要求较高的会话信息方面是必不可少的,对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的.本文就来教大家如何在Java Web开发中自定义Session ...

  7. java web开发中Filter使用Annotation配置 (转载)

    为什么80%的码农都做不了架构师?>>>    为了在java中得到request和response对象,搜索到了 <如何在Java的普通类中获取Session以及reques ...

  8. Java Web开发中路径问题小结

    Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...

  9. java商城开发可以说是日臻完美

    在美国,起来越多的应用是基于Java开发的.java商城开发可以说是日臻完美,打消了许多人对Java无法应用于大型企业级应用的顾虑.而在国内,Java也已如火如荼.据调查,在未来几年内,将会出现20万 ...

最新文章

  1. 话里话外:论持续跟踪和及时反馈
  2. Redhat linux5.5下Oracle 10g 安装配置手册一
  3. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
  4. jquery遍历函数siblings()
  5. java回退一格_api短信接口
  6. 数据中心新认证出现,UPTIME面临挑战
  7. linux watch 文件大小,Linux watch命令的使用
  8. hexdump命令常用选项-C -v
  9. python urlretrieve下载进度_python《文件下载进度显示》 urllib.request.urlretrieve(self.__path,self.__name,jindu)...
  10. vs 2017 查看dll源代码
  11. pythonmacd指标编写_利用python编写macd、kdj、rsi、ma等指标
  12. 低客单价的商品怎样做运营、怎么样做优化、以及怎样做推广
  13. 移动端iOS中input输入框搜索框软键盘出现换行而不是搜索
  14. ANO匿名飞控STM32代码解读(二)数据传输——Ano_DT.c
  15. uva1593代码对齐
  16. mysql5.7修改密码
  17. 数据库MySQL8.0.31更改密码
  18. windows 系统验证是否为正版
  19. SQL 数据库 学习 017 查询-00 介绍 scott 例子库
  20. 华为linux系统信息,Linux系统信息相关、其他命令(五)

热门文章

  1. Qt使用FontAwesome图标字体库
  2. 凤凰金融峰会,智能金融开创美好未来
  3. 《新白娘子传奇》绝版幕后照 赵雅芝老公曾探班
  4. urllib使用案例
  5. 项目Beta冲刺(团队)——总结篇
  6. 长安旗下阿维塔科技增资扩股落定:宁德时代将持股约24%!
  7. 设计Rectangle类表示矩形
  8. 快速上手!算法题+JVM+自定义View,终局之战
  9. HTML文本中有换行符\n 无法换行解决方法
  10. cas1314-15-4|无水氧化铂|氧化铂(IV)|亚当斯催化剂|无水氧化铂|氧化铂