一.Map集合
1.概述
双列集合的顶级接口
2.实现类
HashMap
特点:
a.key唯一,value可重复->如果key重复了,会发生value覆盖
b.无序
c.无索引
d.线程不安全
e.可以存null键null值
数据结构:
哈希表
方法:
LinkedHashMap
特点:
a.key唯一,value可重复->如果key重复了,会发生value覆盖
b.有序
c.无索引
d.线程不安全
e.可以存null键null值
数据结构
哈希表+双向链表
用法:与HashMap一样
map的key去重复过程和set一样:重写hashCode和equals方法
二.红黑树相关集合
TreeSet
特点
a.对元素进行排序
b.无索引
c.不能存null
d.线程不安全
e.元素唯一
数据结构
红黑树
构造
TreeSet()->构造一个新的空set,该set根据ASCII码表排序
TreeSet(Comparator<? super E> comparator)构造一个新的空TreeSet,他根据指定比较器进行排序
TreeMap
特点
a.对key进行排序
b.无索引
c.key唯一
d.线程不安全
e.不能存null
数据结构
红黑树
构造
TreeMap()->构造一个新的空set,该set根据ASCII码表排序
TreeMap<Comparator<? super E> comparator)构造一个新的空的树映射,他根据指定比较器进行排序
三.Hashtable和Vector
Hashtable
特点
a.key唯一,value可重复
b.无序
c.无索引
d.线程安全
e.不能存储null键,null值
数据结构
哈希表
和HashMap区别
相同点:元素无序,无索引,key唯一
不同点:HashMap线程不安全,Hashtable线程安全;HashMap可以存储null键,null值,Hashtable不可以存储null键,null值.
vector
特点
a.元素有序
b.有索引
c.元素可重复
d.线程安全
数据结构
数组
原理
a.如果用有参构造创建对象,数组初始容量为10,如果超出范围,自动扩容,2倍
b.如果用有参构造创建对象,如果超出了范围,自动扩容,扩的是老数组长度+指定的数组增量
四.Properties属性集
特点
a.key唯一,value可重复
b.无序
c.无索引
d.线程安全
e.不能存null键,null值
f.Properties的key和value类型默认为String
数据结构
哈希表