一.数组(不适合在对象数量未知的情况下使用)
1.数组存储的元素类型相同和长度是固定的(存储对象或基本数据类型)
2.数组的声明(只有这俩种)
int[] age ; 或 int age[];
3.数组的创建(俩种)
int[] age = new in[8]; 或 int[] age = new in[1,2,4];
二.集合
1.只能存储对象
2.存储的类型可以不同,长度可变
一.list
存储元素特点:有序,可重复
二.set
存储元素特点:无序,不可重复
三.map
存储元素特点:无序,key不可重复,value可重复
键值对存储
一.ArrayList
有序,可重复
非线程安全的
底层是数组实现的,默认数组初始化大小是10,扩大后的容量是之前的1.5倍
二.LinkedList
有序,可重复
非线程不安全
底层是双向链表实现的,不存在数组初始化值
三.VectorList
有序,可重复
线程安全的
底层是数组实现的,默认数组初始化大小是10,扩大后的容量是之前的1.5倍
四.Queue(队列 也是实现list接口)
有序,可重复
存储数据 先进先出
线程安全的
底层是数组实现的,默认数组初始化大小是10,扩大后的容量是之前的1.5倍
只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
一.HashSet (类)
无序,不可重复
底层是哈希表散列表实现的,
二.SortedSet(接口)
无序,不可重复,但是按照存储元素大小自动排序
实现类 TreeSet
底层是二叉树实现的,
一.HashMap (类)
key等同于set
非线程安全的
底层是哈希表散列表实现的,
二.HashTable(类)
实现类 properties(key,value 都只能存储字符串)
线程安全的
三.SortedMap(接口)
实现类 TreeMap(key等同于 TreeSet)
key 等同于 sortedSet (会按元素大小自动排序)