Collection与Map学习笔记(三)

本篇是Collection与Map学习笔记第三篇,主要来总结Map接口及其实现类。

1.Map综述

Map接口用来储存“键值对”。Map接口主要有四个实现类:HashMap、TreeMap、Hashtable、WeakHashMap.

Map的子接口有:AbstractMap、SortedMap、NavigableMap.

AbstractMap是个抽象类,继承了Map大部分接口。

SortedMap除集成Map的接口以外,还可以进行排序。排序利用的方法是比较器(Comparator).所以实现SortedMap的类储存的是有序的键值对。

NavigableMap是SortedMap的子接口,除了可以排序以外,还提供了一系列导航方法:如"获取大于/等于某对象的键值对"、“获取小于/等于某对象的键值对”等等。 

HashMap继承了AbstractMap,但没有实现Navigable接口,存储的是“键值对,但无序”。

TreeMap继承了AbstractMap,还实现Navigable接口,存储的是“键值对,并且有序”。

Hashtable集成了Dictionary,并实现了Map接口。存储的是“键值对,但无序”。与HashMap相比,Hashtable是线程安全的。并且支持通过Enumeration遍历。

WeakHashMap也继承与AbstractMap,与HashMap不同的是WeakHashMap的键是“弱键”。

1.1Map接口的API

clear()    清除对象中所有元素

put(k,v)   将一个键值对加入键值对集合。

putAll(Map<> map>   讲一个键值对集合放入

entrySet()    键值对集合的所有键值对的Set集合

keySet()          键值对集合的key 的Set集合

values()           键值对集合的value集合,返回值类型为Collection

size()               键值对集合的大小

isEmpty()         键值对集合是否为空

get(key)          通过key获得对应的value

remove(key)    删除对应key的键值对

containskey(key)    是否包含key

containsvalue(value)   是否包含value

hashCode()            获得哈希值

equals(Object obj)   判断是否相等

1.2Map.Entry

Map.Entry是Map内部的接口,Map.Entry是键值对。Map的实现类对象,可以通过entrySet()方法获得键值对集合。然后可以利用Map.Entry提供方法获得key/value/重置value等操作。

常用方法有:

getKey()

getValue()

setValue(newvalue)

hashCode()

equals(Object obj)

猜你喜欢

转载自www.cnblogs.com/hitnmg/p/9366906.html