栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中Collection集合及其实现类介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中Collection集合及其实现类介绍

  普通的对象数组的最大问题在于数组中的元素个数是固定的,不能动态的扩充大小,所以最早的时候可以通过链表实现一个动态对象数组。但是这样做毕竟太复杂了,所以在 Java 中为了方便用户操作各个数据结构,所以引入了类集的概念,有时候就可以把类集称为 java 对数据结构的实现。

  csdn里面已经有人写了详细的java集合类的思维导图,这里给出了链接,大家可以直接过去访问,点击这里。


一、 Collection接口
  Collection 接口是在整个 Java 类集中保存单值的最大操作父接口,里面每次操作的时候都只能保存一个对象的数据。

上面是Collection类中定义的15种方法,此接口的全部子类或子接口就将全部继承以上接口中的方法。
Collection中有两个子接口,分别是List和Set接口,下面一一介绍。

二、List接口

   List 是 Collection 的子接口,里面的所有内容都是允许重复的。


  除了继承Collection接口的方法外,List接口另外新增了如上的几种方法。但是List仍然是一个接口,要想具体的使用这些方法,我们还要了解一下List接口的实现类。
  List的常用实现类有ArrayList、Vector类、linkedList类三种。这三个类的作用大同小异,了解其各有的特性及优点才是需要关注的内容。

2.1 ArrayList类

  ArrayList类是集合类中最常用的,其底层仍然是操作的数组,这也就决定了其增删慢,查找快的特性,适合随机查找与遍历,但不适合于经常用到插入和删除的操作。允许有Null元素存在。
  下面展示了ArrayList类的常用方法。

No.方法类型描述
1public void add(int index,E element)普通在指定索引处添加元素
2public boolean add(E element)普通向集合末尾添加元素,注意返回的一定是true
3public boolean contains(Object o)普通判断集合是否包含某元素
4public E get​(int index)普通获取指定索引处的内容并返回
5public E get​(int index)普通获取指定索引处的内容并返回
6public int indexOf​(Object o)普通返回指定元素第一次出现的索引,如果没有则返回-1
7public int size​()普通获取此集合的长度,遍历数组会用到
8public boolean remove​(Object o)普通删除指定元素(如果存在)
9public Object[] toArray(Object o)普通以从前往后顺序返回一个包含此列表中所有元素的数组
10public void trimToSize(int length)普通修改这个 ArrayList实例的容量是列表的当前大小。

2.2 Vector类

  Vector类与ArrayList类具有相同的成员方法,从Java 2平台v1.2开始,该类改进了List接口,使其成为Java Collections framework的成员。 与新的集合实现不同,Vector被同步。 如果需要线程安全的实现,建议使用Vector代替 ArrayList。
  下表展示了两者的区别。

2.3 linkedList类

  linkedList类是双链表结构,实现了List和Queue接口,允许存储所有元素(包括null )。
由于其使用链表结构存储结构,适合所以有增删快,查找慢的特性。需要注意的是,linkedList类不支持同步,多线程使用的情况向也会出现线程不安全的问题。

上图是Queue接口的方法,由于linkedList类实现了此接口,也具有上面的方法。


总结:
  ArrayList:
  1. 底层数据结构是数组,查询快、增删慢
  2. 线程不安全,效率高
 Vector:
  1. 底层数据结构是数组,查询快,增删慢
  2. 线程安全,效率底
  linkedList:
  1. 底层数据结构是链表,查询慢,增删快
  2. 线程不安全,效率高

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号