Map集合
键-----映射------值
Map集合存储元素的特点以键值对形式存储元素,容器框架
实现类:HashMap、LinkedHashMap、TreeMap、Hashtable
(1)HashMap
基于哈希表实现的,线程不安全的Map容器
特点:
1.基于哈希表实现
2.key不允许重复,值可重复
3.底层是数组+链表结构
4.允许null键和null值
5.线程不安全
HashMap常用方法:
V put(K key, V value) 添加数据,如果先前包含该键的映射,则替换旧值
V get(Object key) 返回指定键所映射的值
Set<Map.Entry<K,V>> entrySet() 返回此地址中包含的映射的Set集合。
Set<K> keySet() 返回集合中包含的键的Set集合
Collection<V> values() 返回集合中包含的值的Collection集合
V remove(Object key) 从该集合中删除指定键的映射
(2)LinkedHashMap
继承自HashMap,基于双向链表存储有序的Map容器。
(3) Hashtable
基于散列表实现,线程安全的Map容器
特点:
不允许null键和null值
线程安全
Hashtable与HashMap区别
1.继承的父类不同
2.线程安全性不同
3.是否允许null值
4.遍历内容实现不同
都可以获得集合使用Iterator
Hashtable还可以获取Enumeration
(4) TreeMap
基于红黑数实现,具有排序功能的Map容器
特点:
1.底层是红黑树
2.不允许null值和null键
3.针对键排序
4.线程不安全
集合工具类
Collections 用于操作集合的工具类
使用Collections工具类之前,必须导入java.util包
Collections类的常用方法
void sort() 对象集合中存储的元素进行排序
shuffle() 对集合中存储的元素进行随机排列
reverse() 将集合中存储的元素位置进行反转
max() 获取集合中存储的最大元素
min() 获取集合中存储的最小元素、
binarySearch() 二分查找
indexOfSubList() 获取指定子列表在整个列表中第一次出现的位置
lastIndexOfSubList() 获取指定子列表在整个列表中最后一次出现的位置
所有的方法都是用static关键字修饰,使用Collections.xxx()进行调用