java中的map是什么

java中的map是一种依照键存储元素的容器。在map中键可以是任意类型的对象。map中不能有重复的键,每个键都有一个对应的值。

Map是一个集合,一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以是任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。

(推荐教程:java课程

一个键(key)和它对应的值构成map集合中的一个元素。

Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。

Map本身是一个接口,要使用Map需要通过子类进行对象实例化。

在Map接口中有如下常用方法

javam.png

Map接口的常用子类有如下四个:HashMap、HashTable、TreeMap、ConcurrentHashMap。

如:

public class Test{
	public static void main(String[] args) {
		Map<Integer, String> 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<Integer> set = map.keySet();
		Iterator<Integer> 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来进行查找。

相关学习推荐:java入门教程

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...