java集合四(Map)

java集合—Map

一.概述

Map表示键值对(key-value)的存储,Map不能存储重复的Key,即:每个Key对应一个value,且key和value都可以是对象。实现Map的类有ConcurrentHashMap,ConcurrentSkipListMap,EnumMap,HashMap,Hashtable,IdentityHashMap,LinkedHashMap,Properties,TreeMap和WeakHashMap

一.HashMap

HashMap使用哈希表实现映射接口。它继承了AbstractMap类并实现了Map接口。HashMap仅包含唯一键,即:Key不能重复,不支持排序。非线程安全,但可以通过Map m = Collections.synchronizedMap(hashMap)来实现线程安全。

	public static void main(String[] args) {
		HashMap<Integer, String> hm = new HashMap<Integer, String>();
		hm.put(100, "str1");
		hm.put(101, "str2");
		hm.put(102, "str3");

		for (Map.Entry m : hm.entrySet()) {
			System.out.println(m.getKey() + " " + m.getValue());
		}

		System.out.println(hm.get(100));
	}

二.Hashtable

Hashtable是一个列表数组。每个列表都称为存储桶。通过调用hashcode()方法来标识存储桶的位置。Hashtable包含基于密钥的值。Hashtable不运行null键或值。Hashtable是一个遗留类,与HashTable比效率较低,建议使用HashMap替代HashTable。

三.LinkedHashMap

LinkedHashMap类是Map接口的Hashtable和Linked列表实现,具有可预测的迭代顺序。它继承了HashMap类并实现了Map接口。

四.TreeMap

TreeMap类是基于红黑树的实现。它提供了一种按排序顺序存储键值对的有效方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值