【JAVA】【集合4】Java中的Collection接口

【集合】Collection

一、Collection定义

Collection是一个接口,其在java.util.Collection中定义。

public interface Collection<E> extends Iterable<E>

二、Collection定义的接口

1. 增加元素

(1)指定参数增加1个元素

boolean add(E e);

(2)参数为1个集合,添加集合参数内包含的所有内容

boolean addAll(Collection<? extends E> c);

2. 删除元素

(1)删除指定的单个元素

boolean remove(Object o);

(2)参数为1个集合,删除集合参数内包含的所有元素

boolean removeAll(Collection<?> c);

(3)与removeAll方法相反。参数为1个集合,删除不存在于集合参数内的其他元素

boolean retainAll(Collection<?> c);

(4)根据过滤器删除

boolean removeIf(Predicate<? super E> filter)

(5)清空集合

void clear();

3. 查找元素

(1)参数1个元素,判断指定元素是否在集合中是否存在。返回boolean类型。

boolean contains(Object o);

(2)参数1个集合,判断 参数集合 的内容 在集合中是否存在。返回boolean类型。

boolean containsAll(Collection<?> c);

4. 遍历集合

(1)获取集合的迭代器

Iterator<E> iterator();

5. 集合大小

(1)获取集合大小。如:集合clear()后,其大小是0

int size();

(2)判断集合是否为空,返回boolean类型。

boolean isEmpty();

7. 把集合转换为数组

(1)把集合转化成一个数组副本,返回

注(具体在后续各结合类实现中):

  • 如果迭代器能保证特定的顺序,数组就有相同的顺序。
  • 得到的数组是个副本,而不是内部数据结构的引用。
Object[] toArray();

(2)把集合中的元素存入参数指定的数组,返回

<T> T[] toArray(T[] a);

【重要!!!!】: T[] toArray(T[] a)中T[] a参数说明:

  • T[] a参数采用new 长度为0方式,则此方法效果同toArray(),会新分配数组存储空间
String[] y = x.toArray(new String[0]);
  • T[] a参数如果集合的元素足够大,则要存储到参数指定的数组;否则,将为此分配一个相同类型的新数组

如:如下将list转换为数组时最佳SIZE (A)

​ List list = new ArrayList<>(DEFAULT_CAPACITY);

​ list.add("1");

​ list.add("2");

​ String[] array = list.toArray(new String[SIZE]);

​ A、0 B、1 C、2 D、3


原文地址:https://www.cnblogs.com/yickel/p/14793554.html