1005--Java集合--Map接口
来源:互联网 发布:origin导入excel数据 编辑:程序博客网 时间:2024/04/29 23:33
--Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value
--Map 中的 key和 value都可以是任何引用类型的数据
--Map 中的 key用Set来存放,不允许重复,
即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。
--常用String类作为Map的“键”。
--key 和 value之间存在单向一对一关系,
即通过指定的 key 总能找到唯一的、确定的value。
--添加、删除操作:
ØObject put(Object key,Object value)
ØObject remove(Object key)
Øvoid putAll(Map t)
Øvoid clear()
--元视图操作的方法:
ØSet keySet()
ØCollection values()
ØSet entrySet()
--元素查询的操作:
ØObject get(Object key)
Øboolean containsKey(Object key)
Øboolean containsValue(Object value)
Øint size()
Øboolean isEmpty()
Øboolean equals(Object obj)
Map实现类之一:HashMap
--Map接口的常用实现类:HashMap、TreeMap和Properties。
--HashMap是 Map 接口使用频率最高的实现类。
--允许使用null键和null值,与HashSet一样,不保证映射的顺序。
--HashMap判断两个 key 相等的标准是:两个key通过equals()方法返回true,hashCode值也相等。
--HashMap判断两个 value相等的标准是:两个value通过equals() 方法返回 true。
/*
* Object put(Object key,Object value):向Map中添加一个元素
* Object put(Object key,Object value):向Map中添加一个元素
* Object remove(Object key):按照指定的key删除此key-value
* void putAll(Map t)
* void clear():清空
* Object get(Object key):获取指定key的value值。若无此key,则返回null
* Object get(Object key):获取指定key的value值。若无此key,则返回null
* boolean containsKey(Object key)
* boolean containsValue(Object value)
* int size():返回集合的长度 boolean
* isEmpty() boolean equals(Object obj)
*
* HashMap: 1.key是用Set来存放的,不可重复。value是用Collection来存放的,可重复
* 一个key-value对,是一个Entry。所有的Entry是用Set存放的,也是不可重复的。
* 2.向HashMap中添加元素时,会调用key所在类的equals()方法,判断两个key是否相同。若相同 则只能添加进后添加的那个元素。
* isEmpty() boolean equals(Object obj)
*
* HashMap: 1.key是用Set来存放的,不可重复。value是用Collection来存放的,可重复
* 一个key-value对,是一个Entry。所有的Entry是用Set存放的,也是不可重复的。
* 2.向HashMap中添加元素时,会调用key所在类的equals()方法,判断两个key是否相同。若相同 则只能添加进后添加的那个元素。
* 此处跟HashSet不同,HashSet是后面的添加不进去
*/
*/
HashMap的遍历
--Key遍历
Set set = hashMap.keySet();
--Values遍历
Collection coll = hashMap.values();
--Key-Value遍历(entry遍历)
Set set = hashMap.entrySet();
for(Object obj :set) {
Map.Entry entry = (Map.Entry)obj;
entry.getKey();
entry.getValue();
}
Map实现类之二:LinkedHashMap
--LinkedHashMap是 HashMap的子类
--与LinkedHashSet类似,LinkedHashMap可以维护Map的迭代顺序:
迭代顺序与 Key-Value对的插入顺序一致
Map实现类之三:TreeMap
--TreeMap存储 Key-Value 对时,需要根据key-value对进行排序。
TreeMap可以保证所有的 Key-Value 对处于有序状态。
--TreeMap的 Key 的排序:
Ø自然排序:TreeMap的所有的Key必须实现 Comparable接口,
而且所有的 Key 应该是同一个类的对象,否则将会抛出 ClasssCastException
Ø定制排序:创建 TreeMap时,传入一个 Comparator对象,该对象负责对TreeMap中的所有key进行排序。
此时不需要 Map 的 Key 实现Comparable接口
--TreeMap判断两个key相等的标准:
两个key通过compareTo()方法或者compare()方法返回0。
--若使用自定义类作为TreeMap的key,
所属类需要重写equals()和hashCode()方法,且equals()方法返回true时,compareTo()方法应返回0。
Map实现类之四:Hashtable
--Hashtable是个古老的Map实现类,线程安全。
--与HashMap不同,Hashtable不允许使用 null作为key 和value
--与HashMap一样,Hashtable也不能保证其中Key-Value对的顺序
--Hashtable判断两个key相等、两个value相等的标准,与hashMap一致。
Map实现类之五:Properties
--Properties 类是 Hashtable的子类,该对象用于处理属性文件
--由于属性文件里的 key、value都是字符串类型,
所以 Properties里的key和 value都是字符串类型
--存取数据时,建议使用setProperty(Stringkey,String value)方法和getProperty(String key)方法
•Properties pros = new Properties();
•pros.load(newFileInputStream(new File("jdbc.properties")));
•String user = pros.getProperty("user");
•System.out.println(user);
0 0
- 1005--Java集合--Map接口
- java集合-Map接口
- Java集合Map接口
- java-集合Map接口
- Java集合Map接口学习
- Java集合Map接口学习
- java数据集合Map接口
- 《JAVA集合中的Map接口》
- Java集合之Map接口
- java集合小结(二)Map接口
- JAVA集合详解(Collection和Map接口)
- JAVA集合详解(Collection和Map接口)
- 【Java总结-集合】Map接口,HashMap等
- java中的集合之Map接口(四)
- 【java集合一】根接口Collection、Map
- JAVA集合详解(Collection和Map接口)
- java集合框架系列---Map接口
- java集合框架系列---Map接口
- C++ Primer学习笔记(8)——形参、局部变量、静态局部变量
- Android中Parcelable接口用法
- modbus 485 10功能码报文及解析
- ios中有什么方式支持多继承
- leetcode#215 Kth Largest Element in an Array
- 1005--Java集合--Map接口
- 音乐播放器
- C语言中可变参数的用法
- Introduce to algorithm-----pseudo code to C/C++ code (chapter 11)
- boxplot--盒图
- Sizeof与Strlen的区别与联系
- 词典
- 用jsp写一个动态表格
- 动态规划:从新手到专家(关于动态规划算法最精彩的中文描述,没有之一)