HashMap
HashMap中的元素是无序的。
新建:
HashMap<String, String> hashmap= new HashMap<String, String>();
常用方法:
参考java学习小结1.
遍历方式:
for(String str : hashmap.keySet()){
int value = hashmap.get(str);
System.out.println(value);
}
TreeMap
TreeMap中的元素默认按照keys的自然排序排列。
新建:
TreeMap<Integer, String> treeMap = new TreeMap<>();
常用方法:
增添元素:
V put(K key, V value):将指定映射放入该TreeMap中。
V putAll(Map map):将指定map放入该TreeMap中。
删除元素:
void clear():清空TreeMap中的所有元素。
V remove(Object key):从TreeMap中移除指定key对应的映射。
修改元素:
V replace(K key, V value):替换指定key对应的value值。
boolean replace(K key, V oldValue, V newValue):当指定key的对应的value为指定值时,替换该值为新值。
查找元素:
boolean containsKey(Object key):判断该TreeMap中是否包含指定key的映射。
boolean containsValue(Object value):判断该TreeMap中是否包含有关指定value的映射。
Map.Entry<K, V> firstEntry():返回该TreeMap的第一个(最小的)映射。
K firstKey():返回该TreeMap的第一个(最小的)映射的key。
Map.Entry<K, V> lastEntry():返回该TreeMap的最后一个(最大的)映射。
K lastKey():返回该TreeMap的最后一个(最大的)映射的key。
v get(K key):返回指定key对应的value。
SortedMap<K, V> headMap(K toKey):返回该TreeMap中严格小于指定key的映射集合。
SortedMap<K, V> subMap(K fromKey, K toKey):返回该TreeMap中指定范围的映射集合(大于等于fromKey,小于toKey)。
遍历接口:
Set<Map<K, V>> entrySet():返回由该TreeMap中的所有映射组成的Set对象。
void forEach(BiConsumer<? super K,? super V> action):对该TreeMap中的每一个映射执行指定操作。
Collection values():返回由该TreeMap中所有的values构成的集合。
其他方法:
Object clone():返回TreeMap实例的浅拷贝。
Comparator<? super K> comparator():返回给该TreeMap的keys排序的comparator,若为自然排序则返回null。
int size():返回该TreepMap中包含的映射的数量。
遍历方式:
for循环
for (Map.Entry entry : treeMap.entrySet()) {
System.out.println(entry);
}
迭代器循环
Iterator iterator = treeMap.entrySet().iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
LinkedHashMap
LinkedHashMap的元素是按照元素插入顺序排列的。
新建:
LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>();
常用方法:
clear():从此映射中删除所有映射。
containsValue(Object value):果此映射将一个或多个键映射到指定值,则返回true。(如果存在value值,则返回true)
get(Object key):回指定键映射到的值,如果此映射不包含键的映射,则返回null。
其他方法:
其他方法诸如put、remove方法LinkedHashMap没有重写,所以可以通过调用父类HashMap的put、remove方法来实现。(参考java学习小结1)
遍历方式:
for循环
for(Map.Entry<String, String> entry : linkedHashMap.entrySet()) {
System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());
}
迭代器循环:
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());
}