关于HashMap中常用API、Map的遍历方式、HashMap接口中各实现类、集合知识点的整理的课程笔记

**

HashMap

**

1.常用API
put()
get()
remove()
boolean containsKey(Object key)
boolean containsKey(Object key)
boolean isEmpty()
int size()
void putAll(Map<? extends K,? extends V> m)
2.Map的遍历方式
1)获取所有的key,并且得到对应的Set集合类型
	map.keySet()
2)获取所有的value,并且得到对应的List集合类型
	map.values()
3)获取所有的键值对entry,并且得到对应的Set集合类型
	注意:
		a.在set集合中只能存放一种泛型,所以键值对(entry)也是一个整体泛型类型
		b.Entry是属于Map的内部接口,内部接口的使用方式和内部类一样
		c.Entry的结构
			获取键:
				getKey()
			获取值:
				geyValue()
3.LinkedHashMap©

​ 1)底层数据结构:数组+链表+双向链表
​ 2)特点:
​ a.按照插入顺序进行排列

4.TreeMap©

​ 1)底层数据结构:红黑树
​ 2)作用:
​ a.对Map集合进行排序

5.Hashtable©

1.底层数据结构:数组+链表

2.和HashMap的区别

​ a.父类的不同

​ HashMap:继承AbstractMap类

​ Hashtable:继承Dictionary类

​ b.线程安全

​ HashMap:HashMap线程不安全

​ Hashtable:HashTable线程安全

​ c.版本不同

​ HashMap:JDK1.2开始

​ Hashtable:JDK1.0开始

​ d.扩容问题

​ HashMap:HashMap 哈希扩容必须要求为原容量的2倍

​ Hashtable:Hashtable扩容为原容量2倍加1

​ e.是否能存null值

​ HashMap:Hashmap是允许key和value为null值的

​ Hashtable:HashTable键值对都不能为空,否则包空指针异常

集合的概要

Collection(I)
	|- List(I) - 有序,并且可以有重复值
		|- ArrayList(C)
			数据结构:顺序结构
			特点: 查询快,增删慢
		|- LinkedList(C)
			数据结构:链式结构
			特点: 查询慢,增删快
		|- Vector(C)
			数据结构:顺序结构
			特点: 查询快,增删慢
						带有锁
			|- Stack(C) - 作为栈实现
	|- Set(I) - 无序且唯一
		|- HashSet(C) 
			数据结构:hash表(数组 + 链表)
		|- SortedSet(I) 
			|- TreeSet(C)
				数据结构:二叉树
	|- Queue(I) - 先进先出
		|-Deque(I) - 双端队列/|- LinkedList(C)

Map(I)
	|- HashMap(C) - 普通存储数据
		数据结构:哈希表(散列表)|红黑树
			默认初始容量:16
			扩容因子:0.75
		|-LinkedHashMap(C) - 存储有插入顺序
			数据结构: 哈希表+双向链表

	|-SortedMap(I)
		|-TreeMap(C) - 对Map进行排序

	|-Hashtable(C)
		数据结构:哈希表

	|-ConcurrentHashMap(C) - 并发(线程)
	自然排序:Comparable(I)
		重写compareTo() -> 比较 this 和 obj
		this 比 obj 小
		this 比 obj 大
		this 和 obj 相同

	this在前,obj在后  正序
	obj在前,this在后 倒序

自定义排序: Comparator(I)
	 	重写compare() -> 比较 o1 和 o2

 	正序: 前比后
 	倒序: 后比前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值