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接口源码的更多相关文章

  1. Java集合【6.1】-- Collection接口源码详解

    目录 一.Collection接口简介 二.Collection源码分析 三.Collection的子类以及子类的实现 3.1 List extend Collection 3.2 Set exten ...

  2. java的Iterator源码浅析

    在java的集合中,List接口继承Collection接口,AbstractList类实现了List接口,在AbstractList中的内部类Itr实现了Iterator接口 ArrayList实现 ...

  3. (一)一起学 Java Collections Framework 源码之 概述

    . . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述 JDK 中很多类 LZ 已经使用了无数次,但认认真真从源码级研究过其原理的还只占少数,虽然从 ...

  4. (二)一起学 Java Collections Framework 源码之 AbstractCollection

    . . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述(未完成) (二)一起学 Java Collections Framework 源码之 Abs ...

  5. 【java集合框架源码剖析系列】java源码剖析之TreeSet

    本博客将从源码的角度带领大家学习TreeSet相关的知识. 一TreeSet类的定义: public class TreeSet<E> extends AbstractSet<E&g ...

  6. 【java集合框架源码剖析系列】java源码剖析之HashSet

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...

  7. 【java集合框架源码剖析系列】java源码剖析之ArrayList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...

  8. 【java集合框架源码剖析系列】java源码剖析之LinkedList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 在实际项目中LinkedList也是使用频率非常高的一种集合,本博客将从源码角度带领大家学习关于LinkedList的知识. ...

  9. Java集合框架源码(二)——hashSet

    注:本人的源码基于JDK1.8.0,JDK的版本可以在命令行模式下通过java -version命令查看. 在前面的博文(Java集合框架源码(一)——hashMap)中我们详细讲了HashMap的原 ...

随机推荐

  1. 【BZOJ1880】[Sdoi2009]Elaxia的路线 最短路+DP

    [BZOJ1880][Sdoi2009]Elaxia的路线 Description 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起 ...

  2. 数据库几种连接方式的(左右union all)

    A表 id  name 1 bai 2 zhang 3 li B表 a_id score 1 80 2 70 1 30 左连接: select A.* ,B.* from A a left outer ...

  3. Exploiting second-order SQL injection 利用二阶注入获取数据库版本信息 SQL Injection Attacks and Defense Second Edition

    w SQL Injection Attacks and Defense  Second Edition Exploiting second-order SQL injection Virtually ...

  4. bash常见命令

    pwd (Print Working Directory) 查看当前目录 cd (Change Directory) 切换目录,如 cd /etc ls (List) 查看当前目录下内容,如 ls - ...

  5. HTML代码的美感

    每当我访问精美的网站,我都情不自禁地会去查看源代码.这就好比你拥有一副X光眼镜,能够看到任何人--甚至透视他们的遮羞布.这简直是天经地义的事情嘛!我迫不及待地想了解,这个精美的网站,是不是由同样具有美 ...

  6. python多进程编程(二)

    进程同步(锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理 part1:多个进 ...

  7. 0102-使用 API 网关构建微服务

    一.移动客户端如何访问这些服务 1.1.客户端与微服务直接通信[很少使用] 从理论上讲,客户端可以直接向每个微服务发送请求.每个微服务都有一个公开的端点(https ://.api.company.n ...

  8. 006-MySQL中使用SHOW PROFILE命令分析性能

    一.概述 1.版本支持 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看数据库版本: Select version(); 2.查看开启关闭和默认 ...

  9. 剑指offer 面试3题

    面试3题: 题:数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复 ...

  10. 剑指offer 面试31题

    面试31题: 题目:栈的压入.弹出元素 题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序 ...