java 集合1--接口及父类介绍

来源:互联网 发布:c 游戏编程入门教程 编辑:程序博客网 时间:2024/05/21 15:49

1、java集合主要接口

1.1、Iterator接口

迭代器接口,该接口主要规范可迭代集合,通过实现该接口,可以迭代输出元素,该接口主要包含以下方法:

  • boolean hasNext(); 是否有下一个元素
  • E next(); 得到下一个元素
  • boolean remove(); 删除当前元素

1.2、Iterable接口

可迭代接口,实现该接口的类具有一个返回迭代器的功能,Collection接口继承自该接口,该接口主要包含以下方法:

  • Iterator iterator(); 返回一个迭代器对象,通过迭代器对象可迭代输出元素

1.3、Collection接口

该接口是java集合的根接口,他提供了基本的元素操作方法,包括List,Set,Queue等子接口,主要包括以下方法:

  • int size(); 返回集合的大小
  • boolean isEmpty(); 判断集合是否空
  • boolean contains(Object o); 判断集合是否包含某个元素
  • Iterator iterator(); 返回集合的迭代器对象
  • boolean add(T t); 像集合中添加一个元素
  • boolean remove(Object o); 移除集合中某一个元素
  • containsAll(Collection c); 判断是否完全包含另一个集合中所以元素
  • addAll(Collection< ? extends E> c); 将另一个集合中所有元素添加至本集合
  • boolean removeAll(Collection< ?> c); 将另一集合中所有元素从本集合移除
  • void clear(); 清空集合元素
  • boolean equals(Object o); equals方法,强制实现类重写
  • int hashCode(); hashCode方法,强制实现类重写
  • boolean retainAll(Collection< ?> c); 仅保留此collection中那些也包含在指定collection的元素

1.4、List接口

该接口定义的元素是有序的且可重复的。相当于数学里面的数列,有序可重复

  • boolean addAll(int index, Collection< ? extends E> c); 将指定集合中所有元素,插入至本集合第index个元素之后
  • default void replaceAll(UnaryOperator operator); 替换集合中每一个元素值
  • default void sort(Comparator< ? super E> c); 给集合中的元素进行排序
  • E get(int index); 获取集合中第index个元素
  • E set(int index, E element); 将集合中第index个元素替换成指定元素
  • void add(int index, E element); 向集合中第index个位置添加一个元素
  • E remove(int index); 移除集合中第index个元素
  • int indexOf(Object o); 得到指定元素在集合中的位置(第一次出现)
  • int lastIndexOf(Object o); 得到指定元素在集合中的位置(最后一次出现)
  • ListIterator listIterator(); 返回ListIterator
  • ListIterator listIterator(int index); 返回ListIterator,并设置当前位置
  • List subList(int fromIndex, int toIndex); 截取List,从fromIndex到toIndex

1.5、Set接口

该接口定义的集合不允许包含重复的元素,更严格的来说是两个元素的equals方法。且该集合中的元素是无序的。该接口相当于数学中的集合,元素不可重复且无序。

1.6、Queue接口

该接口用以实现队列功能(先进先出),队列中增加、删除、获取都包含两组方法,一组方法抛出异常,一组方法返回false或者null,该接口主要包含以下方法:

  • boolean add(E e); 像队列中插入一个元素,队列满时抛出异常
  • boolean offer(E e); 像队列中插入一个元素,队列满时返回false
  • E remove(); 获得并移除队列顶部元素,如果队列为空抛出异常
  • E poll(); 获得并移除队列顶部元素,如果队列为空返回null
  • E element(); 获得队列顶部元素,不会删除队列顶部元素,队列为空时抛出异常
  • E peek();获得队列顶部元素,不会删除队列顶部元素,队列为空时返回null

2、Collection子类

2.1、AbstractCollection抽象类

该类实现了基本的集合功能,主要包括如下:

  • boolean isEmpty(); 判断集合是否空,调用集合的size方法判断
  • boolean contains(Object o); 判断集合是否包含某个元素,内部调用迭代器迭代实现
  • Object[] toArray(); 将集合元素转换成数组,内部调用迭代器迭代元素,保存至数组中
  • T[] toArray(T[] a); 将集合元素转换成数组,内部调用迭代器迭代元素,保存至数组中
  • boolean add(E e); 添加元素方法,内部直接抛出异常,如果子类需要使用add方法,需要重写
  • boolean remove(Object o); 移除元素,内部使用迭代器实现
  • boolean containsAll(Collection< ?> c); 遍历c,内部使用contains(obj)实现
  • boolean addAll(Collection< ? extends E> c); 添加集合c中所有元素,内部调用add方法
  • boolean removeAll(Collection< ?> c); 移除集合c中所有元素,内部使用迭代器删除
  • boolean retainAll(Collection< ?> c); 只保留集合c中元素,内部使用迭代器实现
  • void clear(); 清空集合中的元素,内部使用迭代器实现
  • String toString(); 该抽象类重写了toString方法,内部使用[元素,元素]格式输出元素,所以我们可以通过此方法打印集合的内容
0 0
原创粉丝点击