欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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());
	}
}