集合类是JAVA最常用的一个类型.包括List和Map.
List:包括ArrayList和Vector,两者特点是可变大小长度,善于储存和操作任何类型对象的元素.List尤为使用较多
Map ;提供了更加通用的方法 基本特征是储存 "键值对"的形式.每个键(KEY)映射一个值(VALUE)
Map定义了几个插入和删除元素的方法 下面简单的给大家介绍一下
clear() | 从 Map 中删除所有映射 | remove(Object key) | 从 Map 中删除键和关联的值 | put(Object key, Object value) | 将指定值与指定键相关联 | clear() | 从 Map 中删除所有映射 | putAll(Map t) | 将指定 Map 中的所有映射复制到此 map | 其中putAll(Map t) 不比put(Object key,Object value) 方法更加有效.可是主要为了方便操作,
实际上,都会忽略性能上的问题而去实现更多繁琐繁杂的事情. putAll()是需要迭代所传递的Map元素以外还需要迭代put()方法.
而且putAll()再添加的过程当中,可以正确调整Map大小.
查看 =/迭代Map
迭代Map的元素 java提供了封装的三种方法.
- 所有键值对 — 参见 entrySet()
- 所有键 — 参见 keySet()
- 所有值 — 参见 values()
1.entrySet() 是迭代map将键值对打印出来
2.keySet()是把map中所有key的值都封装添加到set集合里面
3.values()是把map中所有values的值封装添加到set集合
Map类型种类繁多,用途和优势各有不同
- HashMap
- Hashtable
- Properties
- LinkedHashMap
- IdentityHashMap
- TreeMap
- WeakHashMap
- ConcurrentHashMap
其中HashMap是map中的代表类型
几乎所有map都用哈希映射的.这是一种元素映射到数组的机制.
哈希映射结构由一个储存元素内部数组,内部采用数组储存,由此可知存在一个确定任意键访问数组的索引机制.
这种机制成为哈希函数.每一个对象都包含着返回整数值的hashCode().要将该值映射到数组,只需转为一个正值,
然后再该值除以数组大小后取余数即可.
每个map类都具有各自的优势和特征,根据不同的业务处理而使用不同的map集合
|
|