1.集合和数组的区别:
1.1数组长度固定,集合长度可变
1.2数组可以是基本类型,也可以是引用类型
1.3数组只能存储同一种数据类型,集合可以存储不同的类型;
2.结构图
3.常用的集合方法
Collection接口 对象的集合(单列集合):
List接口:元素按进入先后有序保存,可重复
LinkedList 接口实现类,链表,插入删除,同步,线程不安去
ArrayList接口实现类,数组,随机访问,没有同步,线程不安全
Victor 接口实现类,同步,线程安全
stack是Victor得实现类
Set接口:仅接收一次,不可重复,并做内部排序
Hashset:使用hash表存储元素
LinkHashSet链表保护元素的插入次序
TreeSet:底层实现为二叉树,元素排好序
Map接口 键值对的集合(双列集合)
HashTable 接口实现类,同步,线程安全
HashMap 接口实现类,非同步,线程不安全
LinkedHashMap 双向链表和哈希表实现
WeakHashMap
TreeMap 红黑树对所有的key进行排序
IndentifyHashMap
4.ArrayList和LinkedList区别
1.ArrayList底层是数组,查询快,增删慢 ,线程不安全,效率高,适用于查询频次高的操作。
2.LinkedList底层数组加双向链表,查询慢,增删快,线程不安全,效率高,适用于频繁修改的数据操作