集合 总结

来源:互联网 发布:myflow.js 源码介绍 编辑:程序博客网 时间:2024/06/08 12:45


常用的集合有
collection (无序不可重复):是集合类的一个顶级接口,其直接继承接口有List与Set

      List 主要实现类有ArrayList Vector LinkedList 有序(插入和输出顺序一致)可重复
              ArrayList 数组结构存储 查找效率较高 删除插入效率比较低 因为查找可以通过索引 插入删除时                           需要移位 如果插入和删除的是最后一位则没区别   线程不同步 效率高 
              vector    数组结构存储 同上 是ArrayList的早期版本 线程同步 效率低 安全性高
              LinkedList 链表结构存储 查询效率低 插入删除效率较高 查询时需要从头查到尾 插入删除每次                            只需要操作上一个和下一个就行
                   set集合比较常用的是 无序(插入顺序)不可重复(用于去重)
                         hashset TreeSet
                          hashset 无序(自然顺序和输出顺序都没有)不可重复 内部是hashMap存储 只关注KEY 
                                        进行添加时 需先要判断是否重复 通过equals 跟 Hashcode 或者地址相同判断是否重复 重                                            复需要去重

                           Treeset 有序(无插入顺序有自然顺序,通过二叉树存储排序)不可重复 有序是自然顺序 
                                        因为有序的 所以会比较大小 所以插入的数据必须是可以比较的否则抛出异常二叉树结构存                                           储

                                           

                                                 

                                                                                                                       
Map集合主要有HashMap实现类  键值存储
          Map   是键值存储
          hashMap 使用数组及单向列表存储

          TreeMap:二叉树存储,进行了排序,与TreeSet大致一样

                                


0 0
原创粉丝点击