java源码(4) -- java.util.Collection

我也不知道看源码有什么用,就是想去看看...

java.util.Collection 这是一个接口,是java中集合框架的根接口.

下面来具体看看该接口中定义了哪些方法

public interface Collection<E> extends Iterable<E>{

    //操作集合元素的方法
    boolean add(E e);//将元素E添加到该集合中

    boolean addAll(Collection<? extends E> c);//将集合c添加到该集合中

    boolean remove(Object o);//从集合中删除o元素

    boolean removeAll(Collection<?> c);//从集合中删除c集合

    void clear();//将该集合清空

    boolean retainAll(Collection<?> c);//仅保留该集合中那些也包含在指定集合c中的元素

    //查询方法
    boolean contains(Object o);//判断元素o是否在集合中

    boolean containsAll(Collection<?> c);//判断集合c是否在该集合中

    boolean isEmpty();//判断该集合是否为有元素

    int size();//返回该集合的元素个数

    //其它方法
    Object[] toArray();

    <T> T[] toArray(T[] a);

    Iterator<E> iterator();

    boolean equals(Object o);

    int hashCode();

}

  

可以看到上面Collection接口中16个方法,操作集合元素的方法有6个、查询方法有4个、其它方法有5个. 这只是一个接口,里面全部都是定义的方法体,后面会具体分析每个方法在它实现类中是如何实现的(个人感觉去仔细研究 实现类中是如何实现上面16个方法是件很兴奋的事)

时间: 2024-10-06 00:01:06

java源码(4) -- java.util.Collection的相关文章

从Java源码到Java字节码

Java最主流的源码编译器,javac,基本上不对代码做优化,只会做少量由Java语言规范要求或推荐的优化:也不做任何混淆,包括名字混淆或控制流混淆这些都不做.这使得javac生成的代码能很好的维持与原本的源码/AST之间的对应关系.换句话说就是javac生成的代码容易反编译. Java Class文件含有丰富的符号信息.而且javac默认的编译参数会让编译器生成行号表,这些都有助于了解对应关系. 关于Java语法结构如何对应到Java字节码,在JVM规范里有相当好的例子:Chapter 3.

如何阅读Java源码 阅读java的真实体会

刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃<Core Java>,你是很难从中吸收到营养的,特别是<深入Java虚拟机>这类书,别人觉得好,未必适合现在的你. 虽然Tomcat的源码很漂亮,但我绝不建议你一开始就读它.我文中会专门谈到这个,暂时不展开. 强烈

[LeetCode][8]String to Integer (atoi)解析与模仿Java源码实现 -Java实现

Q: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases. Notes: It is intended for this problem to be

Java源码之 java.util.concurrent 学习笔记01

准备花点时间看看 java.util.concurrent这个包的源代码,来提高自己对Java的认识,努力~~~ 参阅了@梧留柒的博客!边看源码,边通过前辈的博客学习! 包下的代码结构分类: 1.java.util.concurrent.atomic,正如它的英文意思一样,是一个线程安全.原子操作相关的包 另一个专门为线程安全设计的Java包,包含多个原子操作类.这个包里面提供了一组原子变量类.其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程

Java源码学习 -- java.lang.StringBuilder,java.lang.StringBuffer,java.lang.AbstractStringBuilder

一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高:StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全.一个线程不安全,但对内在原因并不了解.这两天终于下定决心看了下源代码,才深刻理解为啥一个线程安全.一个非线程安全. 一名话总结:java.lang.StringBuilder 与 java.lang.StringBuffer 同是继承于 java.lang.AbstractStringBuilder,具体在功能实现大多在 Abs

java源码(1) -- java.lang.CharSequence

我也不知道看源码有什么用,只是喜欢去看看... java.lang.CharSequence CharSequence是char值的一个可读序列.此接口对许多不同种类的char序列提供统一的只读访问. CharSequence是一个接口,里面有4个方法,分别为: public interface CharSequence{ //功能 : 返回此字符序列的长度 int length(); //功能 : 返回指定索引的char值 char charAt(int index); //功能 : 返回一个

源码(03) -- java.util.Collection&lt;E&gt;

 java.util.Collection<E> 源码分析 --------------------------------------------------------------------------------- java.util.Collection<E>是一个接口,它的定义如下: 1 public interface Collection<E> extends Iterable<E> { 2 // Query Operations 3 //

Java源码之LinkedList

Java源码之LinkedList 转载请注意出处:http://blog.csdn.net/itismelzp/article/details/51620311 一.LinkedList概述 本文采用jdk1.8进行分析. LinkedList实现了List,Deque接口的双向链表,实现了链表的所有可选操作,并且可有null值.查找某个值的时候必须从头到尾的遍历链表.它是非线程安全的,当多个线程结构化修改同一链表时需要加上同步处理.(程结构化修改包括:添加.删除,不包括:修改值)可使用Col

[笔记&amp;轮子]java源码 生成本地javadoc api文档

在用Eclipse写java代码时候,有时候因为不知道一个java函数的作用,会通过把鼠移动到java函数上,如果它有javadoc的相关内容就会显示出来.但是并非所有java代码都有javadoc:即使安装了javadoc,在eclipse中如果不进行设定,也可能无法使用. 我在win7下安装的是javase的jdk,发现eclipse中默认的javadoc路径是http://download.oracle.com/javase/7/docs/api/,显然这是一个在线资源,问题是网络总是不稳