美文网首页
Java集合(1)--Collection接口及其实现类

Java集合(1)--Collection接口及其实现类

作者: Kylin824 | 来源:发表于2017-12-04 00:44 被阅读0次

Collections是其他集合类的根接口

Set、List、Queue是子接口,同样不能实例化

子接口下面的实体类(如ArrayList)才可以实例化。

Collections中没有get()方法,Lisi和ArrayList中才有,因为get()方法不是所有集合类的共性

HashSet集合存入一个元素时,会调用该对象的hashCode()方法得到该对象的hashCode值,根据hashCode值决定存放位置

Iterator接口 定义了4个方法:hasNext() next() remove() forEachRemaining() 用于遍历Collections中的元素

Set接口 线程不安全 多线程操作同一集合时需要同步

  • HashSet:无序集合 以hashcode值计算存储位置存储 <- LinkedHashSet:链表无序集合,按添加顺序排列元素
  • SortedSet接口:有排列的集合 <- TreeSet:红黑树数据结构 默认按元素大小排列,可改成自然排序/定制排序
  • EnumSet:枚举集合

List接口(增加了与索引有关的方法)

有一个initialCapacity参数 默认为10 增加元素超过该数组长度时会自动增加

  • ArrayList 新 常用 线程不安全 性能高
  • Vector 古老 少用 线程安全 所以性能低 <- Stack子类 模拟栈的数据结构 有peak pop push等方法
  • LinkedList:既实现了List接口 也实现了Deque接口 可当作List集合也可当双边队列来使用

Queue接口 (模拟队列:先进先出)

  • PriorityQueue 非绝对标准的队列 以与元素大小排序 而非以进入队列顺序排序 可改成自然排序/定制排序
  • Deque接口:代表双端队列 头尾都可插入元素 可当成栈来用(只操作尾部)
  • Deque接口:<- ArrayDeque实现类 与ArrayList一样基于数组

ArrayList与ArrayDeque的实现机制相似,底层采用一个动态的,可重分配的Object[]数组来存储集合元素,当超容量时,系统在底层重新分配一个Object[]数组来存储集合元素

Vector也是以数组形式存储,但实现了线程同步,所以性能较低

LinkList与LinkedHashSet的实现机制,内部以链表的形式保存集合元素,随机访问时效率低,但插入,删除时性能高

List集合使用tips:

  • 对于数组型,遍历时采用随机访方法get() ; 对于链表型,遍历时采用迭代器(Iterator)
  • 需要经常插入、删除则用链表型
  • 若多个线程同时操作,可使用Collections将集合包装成线程安全的集合(后面讲)

相关文章

  • Java核心技术(卷I) 19、集合

    1、集合框架 接口与实现分离 Collection接口 集合类的基本接口是Collection接口 add向集合中...

  • Java集合

    Java中的集合有两类:一类是Collection接口集合,实现有List和Set;还有一类是Map接口集合,实现...

  • Java集合(1)--Collection接口及其实现类

    Collections是其他集合类的根接口 Set、List、Queue是子接口,同样不能实例化 子接口下面的实体...

  • JAVA中的集合框架 List (二)

    Collection接口List接口简介 Collection接口、子接口及其实现类,Collection接口是j...

  • JAVA中的Collection接口和其主要实现的类

    JAVA中的Collection接口和其主要实现的类 Collection是最基本的集合接口,一个Collecti...

  • 集合

    java集合类主要由两个接口派生:Collection和Map,是集合框架的根接口。下面是其接口、子接口和实现类的...

  • 【Java】Collection,List,ArrayList,

    Collection Collection是Java集合的一个根接口,JDK没有它的实现类。内部仅仅做add(),...

  • java集合

    java中常见的集合都是实现的Collection接口和Map接口 Collection集合(图示只表示了接口的实...

  • JAVA Collection

    1 Collection接口 1.1 集合前言 Java语言的java.util包中提供了一些集合类,这些集合类又...

  • Java集合类简介及其遍历总结

    Java集合类简介 Java集合类主要由两个接口派生而出: Collection 和 Map 。Java集合大致可...

网友评论

      本文标题:Java集合(1)--Collection接口及其实现类

      本文链接:https://www.haomeiwen.com/subject/tfhtixtx.html