Java map容器
程序员文章站
2022-06-16 23:38:06
...
HashMap
HashMap:底层结构是哈希表。查询快、 添加快,无序
key:无序,唯一 HashSet
value:无序,不唯一 Collection
LinkedHashMap
LinkedHashMap:底层结构是哈希表+链表。查询快、添加快,有序
key:有序(添加顺序),唯一 LinkedHashSet
value:无序,不唯一 Collection
TreeMap
TreeMap:底层结构是红黑树,速度介于哈希表和线性表之间,有序
key:有序(自然顺序)唯一TreeSet
value:无序不唯一 Collection
常用方法
增加
map.put(key,value);
查询
String value = map.get(key);//通过key获得值
map.entrySet()//获取key-value组合的entry
map.keySet()//获取键的集合
删除
map.remove(key)//根据key删除
map.clear()//删除全部
修改
map.replace(key,value)//替换指定key对应的值
其他方法
map.size()//map元素个数
map.isEmpty() //是否为空
map.containsKey()//是否包含某个key
map没有迭代器,无法使用迭代器直接遍历,需要先变成Set,再遍历Set
Entry: Map接口中的内部接口
遍历
遍历HashMap
// 直接获取keyset,遍历keyset,get得到值
for (String key:
map.keySet()) {
System.out.println(map.get(key));
}
推荐使用以下???
// 通过Iterator遍历,返回的Entry接口
Set<Entry<String, String>> set=map.entrySet();
Iterator<Entry<String,String>> it=set.iterator();
while (it.hasNext()){
Entry<String,String> e=it.next();
System.out.println(e.getValue());
}
}