赞
踩
java中的map是一种依照键存储元素的容器。在map中键可以是任意类型的对象。map中不能有重复的键,每个键都有一个对应的值。
Map是一个集合,一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以是任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。
(推荐教程:java课程)
一个键(key)和它对应的值构成map集合中的一个元素。
Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。
Map本身是一个接口,要使用Map需要通过子类进行对象实例化。
在Map接口中有如下常用方法:
Map接口的常用子类有如下四个:HashMap、HashTable、TreeMap、ConcurrentHashMap。
如:public class Test{
public static void main(String[] args) {
Map map = new HashMap<>();
map.put(1, "A");
map.put(1, "A+");
map.put(2, "B");
map.put(3, "C");
System.out.println(map);
System.out.println(map.get(2)); //根据key取得value
System.out.println(map.get(10)); //找不到返回null
//取得Map中所有key信息
Set set = map.keySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
注意:
(1)、key值不允许重复,如果重复,则会把对应value值更新;
(2)、key和value都允许为null,key为null有且只有一个。
HashMap原理:在数据量小的(JDK1.8后阈值为8)时候,HashMap是按照链表的模式存储的;当数据量变大之后,为了进行快速查找,会将这个链表变为红黑树(均衡二叉树)来进行保存,用hash来进行查找。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。