Collection接口的常用方法

筅森魡賤 提交于 2020-02-08 01:49:47

一、Collection简述

Collection为集合的接口,JDK没有提供其实现类;

1、Collection具有两个比较常用的子接口,List和Set;

2、List接口用于存储有有序的可重复的元素,Set接口用于存储无序的不可重复的元素;

3、List接口比较常用的实现类有ArrayList和LinkedList,ArrayList的底层实现是数组,储存在一段连续的内存空间中,具有索引,具有增删慢和查询快的特点;LinkedList的实现是在其内部具有Node的内部类,该类具有element、previous、next成员变量,在LinkList中添加元素时,会创建一个Node的对象并初始化这三个成员变量,因此可以从LinkedList中的任何一个元素找到其向上和向下的相邻的元素,LinkList具有增删快、查询慢的特点;

4、Set接口的比较常用的实现类是HashSet,其实现原理是数组、链表和哈希表(数组上的每个位置是一个链表),在添加元素时计算该元素的哈希值确定在数组上的位置,然后检查该位置上是否有元素,如果没有,则将该元素添加在该位置,如果该位置有元素,则逐一检查该位置上的链表中是否有盖元素,如果没有则添加到最后一个节点,否则不添加;

2、Collection中的常用方法

1、增

  add(E e)---boolean,向集合中添加元素e(确保集合对象中有元素e);

  注:如果在ArrayList对象中添加元素e,返回值永远为true;如果向HashSet对象中添加元素e,若e不存在,返回true,否则返回false.

  add(Collection<? extends E> c)---返回boolean,将指定集合的所有元素添加到集合中;

2、删

   remove(object o)---boolean,删除集合中的指定元素;

   注:如果是ArrayList和LinkList对象删除元素o,遍历元素,仅删除第一个;

     clear()---void,清空集合;

3、size()

      int,返回集合中的元素个数;

4、isEmpty​()

   

   

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!