Java集合总结系列2:Collection接口
2024-10-18 21:24:17
Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法。
通过查看 API 文档或源码的方式,我们可以了解到 Collection 接口中的方法大致分为两类:操作类方法和判断类方法。
操作类方法
- boolean add(E e);
- boolean addAll(Collection<? extends E> c);
- boolean remove(Object o);
- boolean removeAll(Collection<?> c);
- void clear();
- boolean retainAll(Collection<?> c); 仅仅保存集合c中的元素
- Iterator<E> iterator();
判断类方法
- boolean contains(Object o);
- boolean containsAll(Collection<?> c);
- boolean isEmpty();
- int size();
Collection 接口中定义的这些方法都是 List、Set、Queue 这3种数据结构所共有的一些行为,因此适合作为父级接口的方法。
查看 Java 源码我们可以看到 Collection 接口还继承了 Iterable<E> 接口:
public interface Collection<E> extends Iterable<E>
而 Iterable<E> 接口定义如下:
/**
* Implementing this interface allows an object to be the target of
* the "foreach" statement.
*
* @param <T> the type of elements returned by the iterator
*
* @since 1.5
*/
public interface Iterable<T> { /**
* Returns an iterator over a set of elements of type T.
*
* @return an Iterator.
*/
Iterator<T> iterator();
}
也就是说如果一个对象实现了这个接口,那么这个对象就可以用 foreach 循环读取集合元素。
可以看到在 Iterator<T> 中有一个 Iterator<T> 接口,其定义如下:
public interface Iterator<E> { boolean hasNext(); E next(); void remove();
}
Iterator<T> 接口定义了进行 foreach 遍历时的接口,接口逻辑需要在具体的集合类中实现。
最新文章
- 不透明度opacity进阶
- Tensorflow 变量的共享
- 关于maven
- 【USACO 1.4】Mother&#39;s Milk
- Spark在Yarn上运行Wordcount程序
- Careercup - Facebook面试题 - 4907555595747328
- [工具] slf4j-api、slf4j-log4j12以及log4j之间的关系
- Node.js包(JXcore)
- Qt编程之右键单击QTreeWidgetItem弹出菜单
- sqlplus 一次奇葩问题 HTTP proxy setting has incorrect value
- AQS详解
- C# String 与 byte 互转
- 在 Windows系统中编译node.js 源代码
- 【转】Uiautomator Api浅析
- Asp.Net MVC页面静态化功能实现二:用递归算法来实现
- 笔记一:OOAD与UML
- 2.10 工具使用 after effects(图形视频处理软件)
- 【webpack学习笔记】a06-生产环境和开发环境配置
- vue中生成二维码
- JavaScript学习-1