集合框架复习

集合框架体系
单列
    Collection 父接口
       常用方法:
       添加add(),addAll()
       删除remove(),removeAll(),clear()
       修改
       获取size()
       判断isEmpty(),contanis();
       其他
       遍历 toArray(),toArray(Object[] obj),iterator

        List 子接口
            获取 get()
            修改 set()
            截取List<E> subList(int fromIndex, int toIndex)
            遍历ListIterator<E> listIterator()  ,ListIterator<E> listIterator(int index)

            ArrayList 实现类,开发中常用类
                特点:
                 底层数据结构是数组
                 允许重复
                 查询和修改效率高,添加和删除效率低
                 线程不安全
                 有索引,长度是不变的
                 存储null值
                 存储有序的

            Vector实现类
                特点:
                    线程是安全的
                    效率低的
                    ArrayList是Vector的升级版,Vector是旧版的ArrayList
                    ArrayList是为了提高Vector使用的效率

            Stack 实现类
                特点:
                    底层数据结构是栈结构
                    操作元素的特点是先进后出
                 方法:
                    empty(),push(),pop(),peek(),search()
            LinkedList 实现类,开发中常用类
                  特点:
                    底层数据结构是链表结构
                    添加和删除效率高,查询和修改效率低
                    线程是不安全的
                  有List,Stack,Queue,Deque的所有方法使用
            Queue 接口
                特点:
                    数据结构是队列
                    数据操作的特点是先进先出
                方法:
                    offer(),peek(),poll(),
            Deque 接口
                特点:
                    底层数据结构是双端队列
                    方便操作第一个和最后一个元素
                 方法:
                       addFirst,offerFirst,popFirst,pollFirst,removeFirst,getFirst,peekFirst
                       addLast,offerLast,popLast,pollLast,removeLast,getLast,peekLast
                 ArrayDeque 实现类
                    特点:
                        是基于数组的双端队列
                        方法使用集齐了Queue和Deque的
        Set 子接口
            特点:
                存储无序的
                不允许重复,唯一
                存储null值,存储多个null认为一个null值
            方法:
                使用父类的Collection
            HashSet 实现类
                特点:
                    底层数据结构是哈希表
                    哈希表保证无序,唯一
                    存储无序的
                    可以存储null值
            TreeSet 实现类
                特点:
                    存储无序的
                    唯一
                    数据结构是二叉树
                    二叉树的特点是可以排序
                排序两种方式
                    自然排序 ,实现Comparable接口
                    比较器排序 ,实现Comparator接口
            LinkedHashSet 实现类
                特点:
                    数据结构是链表+哈希表
                    链表保证存储有序,哈希表保证唯一
                    可以添加null值
双列
    Map 接口
        特点:
            是一个可以存储键值对的集合
            key键不允许重复
            值是可以重复的
            只能存储一个null键,可以存储多个null值
        方法:
            添加put(),putAll()
            删除clear(),remove(index),remove(key)
            修改put()键相同就是修改,键不同就是添加
            获取get(),size()
            判断isEmpty(),contanisKey(),contanisValue()
            其他
            遍历entrySet(),keySet(),values(),iteartor(),
    HashMap 实现类
        特点:
            底层数据结构是哈希表
            哈希表是保证无序,唯一
            可以存储null键null值
         方法使用父类的
    TreeMap 实现类
        特点:
            数据结构是二叉树
            二叉树特点可以保证元素可以排序(系统类)
            不能存储null键值
            排序两种方式(针对于自定义类需自己实现接口来达到排序的操作)
                     自然排序 ,实现Comparable接口
                     比较器排序 ,实现Comparator接口
    Hashtable 实现类
        特点:
            线程是安全的
            效率低的
            数据结构是哈希表
            哈希表保证无序,唯一的
            Hashtable和HashMap是兼容的,效率高通常使用HashMap
    LinkedHashMap 实现类
        特点:
            数据结构是链表+哈希表
            链表保证存储有序
            哈希表保证无序,唯一
            方法用父类的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值