常用的集合有
collection (无序不可重复):是集合类的一个顶级接口,其直接继承接口有List与Set
List 主要实现类有ArrayList Vector LinkedList 有序(插入和输出顺序一致)可重复
ArrayList 数组结构存储 查找效率较高 删除插入效率比较低 因为查找可以通过索引 插入删除时 需要移位 如果插入和删除的是最后一位则没区别 线程不同步 效率高
vector 数组结构存储 同上 是ArrayList的早期版本 线程同步 效率低 安全性高
LinkedList 链表结构存储 查询效率低 插入删除效率较高 查询时需要从头查到尾 插入删除每次 只需要操作上一个和下一个就行
set集合比较常用的是 无序(插入顺序)不可重复(用于去重)ArrayList 数组结构存储 查找效率较高 删除插入效率比较低 因为查找可以通过索引 插入删除时 需要移位 如果插入和删除的是最后一位则没区别 线程不同步 效率高
vector 数组结构存储 同上 是ArrayList的早期版本 线程同步 效率低 安全性高
LinkedList 链表结构存储 查询效率低 插入删除效率较高 查询时需要从头查到尾 插入删除每次 只需要操作上一个和下一个就行
hashset TreeSet
hashset 无序(自然顺序和输出顺序都没有)不可重复 内部是hashMap存储 只关注KEY
进行添加时 需先要判断是否重复 通过equals 跟 Hashcode 或者地址相同判断是否重复 重 复需要去重
Treeset 有序(无插入顺序有自然顺序,通过二叉树存储排序)不可重复 有序是自然顺序
因为有序的 所以会比较大小 所以插入的数据必须是可以比较的否则抛出异常二叉树结构存 储
Map集合主要有HashMap实现类 键值存储
Map 是键值存储
hashMap 使用数组及单向列表存储
TreeMap:二叉树存储,进行了排序,与TreeSet大致一样