Java Map的常用实现类HashMap及主要方法的使用
- Map接口的常用实现类:HashMap、TreeMap和Properties。
1.Map实现类之一:HashMap(主要实现类)
- HashMap是 Map 接口使用频率最高的实现类。
- 允许使用null键和null值,与HashSet一样,不保证映射的顺序。
- HashMap 判断两个 key 相等的标准是:两个 key 通过 equals() 方法返回 true,hashCode 值也相等。
- HashMap 判断两个 value相等的标准是:两个 value 通过 equals() 方法返回 true。
2. map的常用方法
- 常规操作的方法
添加、删除操作:
Object put(Object key,Object value):获取指定key的value值.若无此key,则返回null
Object remove(Object key):添加一个map
void putAll(Map t)
void clear():清空
元素查询的操作:
Object get(Object key)
boolean containsKey(Object key):判断当前map是否含有参数key
boolean containsValue(Object value):判断当前map是否含有参数value
int size():返回集合的长度
boolean isEmpty():判断是否为空
boolean equals(Object obj):比较
- demo
@Test
public void test() {
Map map = new HashMap();
map.put("AA", 212);
map.put("BB", 456);
map.put(123, "CC");
map.put(null, null);
map.put(new Person("DD",23), 889);
map.put(new Person("DD",23), 87);
System.out.println(map.size());
System.out.println(map);
map.remove("BB");
System.out.println(map);
map.get(123);
}
3.Map的遍历
元视图操作的方法:
Set keySet():返回一个一个装Key的Set
Collection values():返回一个一个装value的Collection
Set entrySet():返回一个Entry的Set
- demo
@Test
public void test2() {
Map map = new HashMap();
map.put("AA", 212);
map.put("BB", 456);
map.put(123, "CC");
map.put(null, null);
map.put(new Person("DD",23), 889);
map.put(new Person("DD",23), 87);
Set set = map.keySet();
for(Object obj:set) {
System.out.println(obj);
}
Collection values = map.values();
Iterator i = values.iterator();
while(i.hasNext()) {
System.out.println(i.next());
}
Set set1 = map.keySet();
for(Object obj:set1) {
System.out.println(obj+"------->"+map.get(obj));
}
Set entryset = map.entrySet();
for(Object obj:entryset) {
Map.Entry entry = (Map.Entry)obj;
System.out.println(entry.getKey() +"==="+ entry.getValue());
System.out.println(entry);
}
}