java collection接口源码
package java.util;
02.
03./*
04.* 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素,
05.* 有些集合有序,JDK不提供本接口的实现,只提供子接口的实现(例如Set,List)
06.* 2.所有实现Collection(或者其子接口)的类都必须包含两个构造函数:无参的构造函数,
07.* 以及参数为Collection的拷贝构造函数
08.*
09.*/
10.public interface Collection<E> extends Iterable<E> {
11.
12. //返回集合中存在的元素。如果元素的数目超过Integer.MAX_VALUE,返回Integer.MAX_VALUE
13. int size();
14.
15. //当集合不包含任何元素时,返回true
16. boolean isEmpty();
17.
18. //如果集合中包含至少一个指定对象,返回true
19. boolean contains(Object o);
20.
21. //返回可以遍历集合元素的迭代器
22. Iterator<E> iterator();
23.
24. //返回集合中所有元素组成的数组,数组元素的返回顺序要和迭代器访问集合元素的返回顺序一样
25. Object[] toArray();
26.
27. //返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
28. <T> T[] toArray(T[] a);
29.
30. //如果集合不允许重复元素,且集合中已经含有该元素,返回false
31. boolean add(E e);
32.
33. //从此 collection 中移除指定元素的单个实例,如果集合中存在指定元素返回true。
34. boolean remove(Object o);
35.
36. //如果此 collection 包含指定 collection 中的所有元素,则返回 true。
37. boolean containsAll(Collection<?> c);
38.
39. //将指定 collection 中的所有元素都添加到此 collection 中
40. boolean addAll(Collection<? extends E> c);
41.
42. //移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
43. boolean removeAll(Collection<?> c);
44.
45. //仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
46. boolean retainAll(Collection<?> c);
47.
48. //移除此 collection 中的所有元素(可选操作)。
49. void clear();
50.
51. //比较此 collection 与指定对象是否相等。通过覆盖,实现list与list相等,set与set相等
52. boolean equals(Object o);
53.
54. //返回此 collection 的哈希码值。
55. int hashCode();
56.}
java collection接口源码的更多相关文章
- Java集合【6.1】-- Collection接口源码详解
目录 一.Collection接口简介 二.Collection源码分析 三.Collection的子类以及子类的实现 3.1 List extend Collection 3.2 Set exten ...
- java的Iterator源码浅析
在java的集合中,List接口继承Collection接口,AbstractList类实现了List接口,在AbstractList中的内部类Itr实现了Iterator接口 ArrayList实现 ...
- (一)一起学 Java Collections Framework 源码之 概述
. . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述 JDK 中很多类 LZ 已经使用了无数次,但认认真真从源码级研究过其原理的还只占少数,虽然从 ...
- (二)一起学 Java Collections Framework 源码之 AbstractCollection
. . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述(未完成) (二)一起学 Java Collections Framework 源码之 Abs ...
- 【java集合框架源码剖析系列】java源码剖析之TreeSet
本博客将从源码的角度带领大家学习TreeSet相关的知识. 一TreeSet类的定义: public class TreeSet<E> extends AbstractSet<E&g ...
- 【java集合框架源码剖析系列】java源码剖析之HashSet
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...
- 【java集合框架源码剖析系列】java源码剖析之ArrayList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...
- 【java集合框架源码剖析系列】java源码剖析之LinkedList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 在实际项目中LinkedList也是使用频率非常高的一种集合,本博客将从源码角度带领大家学习关于LinkedList的知识. ...
- Java集合框架源码(二)——hashSet
注:本人的源码基于JDK1.8.0,JDK的版本可以在命令行模式下通过java -version命令查看. 在前面的博文(Java集合框架源码(一)——hashMap)中我们详细讲了HashMap的原 ...
随机推荐
- Java死锁的理解
我们有时候操作数据库的时候会遇到死锁,那么什么使死锁呢?它的一个比较官方的定义就是:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将 ...
- IOS开发复习笔记(4)-TableView
总结几个TableView常用的代码 1.初始化方面 static string CellIndetifier=@"cellIndetifier"; -(NSInteger)num ...
- minimum viable product
w https://en.wikipedia.org/wiki/Minimum_viable_product
- VMware虚拟机不能联网的解决办法
Linux安装的centos系统,不能正常连接网络 1.编辑config文件 [root@localhost ~]# cd /etc/selinux [root@localhost selinux]# ...
- pymysql连数据库简单版
# 导入模块 import pymysql # 连接数据库 mysql_conn = pymysql.connect(host="127.0.0.1", port=3306, us ...
- linux安装jdk_1.8
转载自http://blog.csdn.net/ldl22847/article/details/7605650 1.下载jdk的rpm安装包,这里以jdk-8u141-linux-x64.rpm为例 ...
- 【saltstack】saltstack执行结果和事件存储到mysql
前言 项目中使用saltstack有一段时间了,之前都是在控制台操作,后来感觉越来越不方便,每次操作需要登陆服务器,还需要记一堆命令.最重要的是,公司进新人之后,新人由于不熟悉saltstack,容易 ...
- 如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件
如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件? 目的:就是希望在项目的配置文件中配上一样的路径,不管协作者使用的是什么平台,都能够读到文件. 比如:L ...
- Python3 进程 线程 同步锁 线程死锁和递归锁
进程是最小的资源单位,线程是最小的执行单位 一.进程 进程:就是一个程序在一个数据集上的一次动态执行过程. 进程由三部分组成: 1.程序:我们编写的程序用来描述进程要完成哪些功能以及如何完成 2.数据 ...
- Python学习进程(14)异常处理
本节介绍Python进行异常处理的方式,异常处理机制可以帮助我们调试python程序. (1)异常的简介: 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行 ...