Java集合框架-Collection接口

Java集合框架

Collection接口

  • Collection接口是List、Set和Queue等高度抽象处理的接口,定义了对集合操作的方法。
  • 实现Collection接口的集合根据具体的类,可以允许有重复元素(List接口的实现类),也可以没有重复元素(Set接口的实现类)。同样地,有些实现类可以允许null 值(List实现类,Set实现类和HashMap),另外一些不允许null 值(Hashtable)。
  • Collection 接口继承了Iterable 接口; AbstractCollection 抽象类直接实现了Collection 接口,并提供了一些方法的默认实现。
  • Collection()中的方法如下,
方法说明
int size()返回集合中元素的数量
boolean isEmpty()集合是否为空(为空返回true)
boolean contains(Object o)若包含特定的元素,则返回true
Iterator<E> iterator()返回该集合的Iterator
Object[] toArray()将集合中的元素以数组的形式返回
<T> T[] toArray(T[] a)将集合中的元素以数组的形式返回,如果指定的数组a足够大,则返回a;否则新建数组并返回。
boolean add(E e)添加操作,
boolean remove(Object o)从集合中删除指定的元素
boolean containsAll(Collection<?> c)集合中是否包含集合c中所有的元素
boolean addAll(Collection<? extends E> c将集合c中元素全部添加到集合中
boolean retainAll(Collection<?> c)将不包含在集合c中的元素删除
void clear()将该集合清空

Iterable接口

  • 该接口中只有一个方法,即Iterator<T> iterator(),返回一个Iterator<T> 用以访问集合;
  • 接口Iterator<T> 中方法,
方法说明
boolean hasNext()集合中是否还有元素
E next()返回集合中的下一个元素
void remove()删除上次访问的对象

继承Collection接口的子接口

该部分主要介绍ListSetQueue 接口。


List接口

  • List接口允许重复元素(包括null 值),下标从0开始。
  • 相比Collection接口中的方法,List中添加了有关位置的方法,

    • 有关位置的存取操作,

      E get(int index);//获取指定位置的元素。
      E set(int index, E element);//设置指定位置的值
      E remove(int index);//删除指定位置的元素
      void add(int index, E element);//在指定位置插入指定的值
    • 有关位置的搜索操作,

      int indexOf(Object o); //返回指定元素第一次出现的位置,如果该集合不包括该元素,则返回-1
      int lastIndexOf(Object o);//返回指定元素最后出现的位置,如果集合中不包含该元素,则返回-1
    • List接口提供了一个特别的iterator,即ListIterator,该Iterator 能够双向访问,并能够插入和替换元素,

      ListIterator<E> listIterator();//返回所有元素的一个iterator
      ListIterator<E> listIterator(int index);//返回从指定位置开始的iterator
    • 其他方法,

      List<E> subList(int fromIndex, int toIndex); //返回list的部分数据,从fromIndex(包括)到toIndex(不包括)

Set接口

  • Set集合中不包含重复元素,并且最多只有一个null值。
  • Set接口仅仅对Collection接口进行继承,没有扩展方法。
  • List接口能在指定位置增加、删除元素,而Set不能。
  • List接口能直接获取指定位置的值或者设置该位置的值,而Set不能。

Queue接口

  • Queue按照先进先出的顺序排列元素,在尾部插入元素,在头部删除元素。
  • Queue中主要有两类方法,
    • 当操作失败,返回异常。
    • 当操作失败,返回特殊的值(null或者false),这种情况适用于容量限制。
  • Queue接口一共定义了6中操作,
方法说明
boolean add(E e)添加操作(如果立即可行且不违反容量限制),成功插入返回true。空间不足时,抛出异常
boolean offer(E e)添加操作(如果立即可行且不违反容量限制),成功插入返回true。当适用容量有限的队列时,offer()方法优于add()方法,因为可能抛出异常
E remove()删除队列的第一个元素,并返回该元素。当队列为空时,抛出异常
E poll()删除队列的第一个元素,并返回该元素。当队列为空时,返回null
E element()返回队列的第一个元素。队列为空时,抛出异常
E peek()返回队列的第一个元素。队列为空时,返回null

本文作者能力,知识有限,若有错误,欢迎留言指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值