java集合(-)

   文章分为两个部分,第一部分为描述集合间的继承和实现关系,第二部分集合接口或者类的公共方法。

   1 集合间的继承和实现关系(悲剧,不会画图,只能用文字描述):

       ---> 继承关系     ---- 实现关系

       基础接口和类

       Iterable(接口)  --->ollection(接口) --->set(接口) List(接口)  Queue(接口)
       Iterator(接口) --> ListIterator(接口)

      Comparator      Comparable(当集合需要排序要么传入比较器 要么重写泛型参数T的Comparable方法)

 
      Object ---> AbstractCollection --->AbstractList   
      List(接口) ---AbstractList
      AbstractList  RandomAccess(接口) ---> ArrayList
      AbstractList RandomAccess(接口) ---> Vecror
      Vector ---> Stack
      

     Queue(接口) --->Dquue(接口)
     AbstractList ---> AbstractSequentialList
     Dquue(接口) AbstractSequentialList ---> LinkedList


     Set(接口)  ----AbstractSet
     AbstractSet  ---> HashSet EnumSet
     Set(接口) ---> SortedSet(接口) ---> NavigableSet(接口)
     NavigableSet  AbstractSet --->TreeSet

    Object Map(接口) ---AbstractMap
    AbstractMap ---> HashMap --->LinkedHashMap
    Map(接口) ---> SortedMap(接口)  ---> NavigableMap(接口)
    AbstractMap NavigableMap(接口) ---> TreeMap

    Object -->Collections (有很多可以生成集合的静态方法)

  2 集合的通用方法

      2.1 遍历
        2.1.1 通过Iterator<E>进行遍历(集合通用)
        2.1.2 针对实现List接口的类可以使用ListIterator进行遍历(同样通过索引方式进行遍历 )
        2.1.3 针对Map 有可能通过 keySet values 或者 entrySet进行遍历
        2.1.4 还有其他方式,比如讲List转化为数组(toArray)。当然,这是非常规方式
   
     2.2 修改(删除 新增 更新)
       2.2.1 删除
            2.2.1.1 通过迭代器的remove方法(通用)
            2.2.1.2 通过remove  clear (clear removeAll作用类似,就ArrayList而言 两者只是性能的差异)
            2.2.1.3 通过 removeAll retainAll(List Set)
      2.2.2 增加
            2.2.2.1 List Set通过add  addAll方法  Map通过put增加元素
      2.2.3 更新
           2.2.3.1 通过ListIterator的set方法(针对实现List接口的类或者实现List接口的接口)
           2.2.3.2 针对List通过set方法改变(LinkedList 通过索引可能涉及较慢)  Map直接通过put覆盖原来的键所对应的值  Set为无序集合 无法更新对应的值
   2.3 其它注意事项
     2.3.1 其他方法如isEmpty() size()
     2.3.2 toArray()只能将集合转化为Object[]数组, 如果想转化T[]  请使用 toArray(new T[0])类似的用法

         

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值