`

系统研究Java--容器(三)--Collection

阅读更多

<!-- ========== METHOD SUMMARY =========== -->

做为容器家族的长老级人物,个人觉得研究一下Collection还是有必要的,下面是Collection中的方法摘要,其中包括继承自Object的方法(注:Collection并没有显示的继承于Object,而继承于Iterable,同时Iterable也非继承于Object,网上有说自动继承于Object,同时给出了 权威的出处,一时间找不到了)

方法摘要
boolean add(Ee)
确保此 collection 包含指定的元素(可选操作)。
boolean addAll(Collection<? extends E>c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
void clear()
移除此 collection 中的所有元素(可选操作)。
boolean contains(Objecto)
如果此 collection 包含指定的元素,则返回 true
boolean containsAll(Collection<?>c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true
boolean equals(Objecto)
比较此 collection 与指定对象是否相等。
int hashCode()
返回此 collection 的哈希码值。
boolean isEmpty()
如果此 collection 不包含元素,则返回 true
Iterator<E> iterator()
返回在此 collection 的元素上进行迭代的迭代器。
boolean remove(Objecto)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
boolean removeAll(Collection<?>c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
boolean retainAll(Collection<?>c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
int size()
返回此 collection 中的元素数。
Object[] toArray()
返回包含此 collection 中所有元素的数组。
<T> T[]
toArray(T[]a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

值得注意的是,其实不包括访问元素的get()方法,主要是因为Collection包括Set,而Set是自己维护内部顺序的(这使得随机访问是没有意义的)。因此,如果想检查Collection中的元素,那就必须使用迭代器。

提到迭代器让我想起了一个问题,如上文的addAll方法,继承于Collection的容器可以将另一种继承于Collection的容器向上转型,然后通过迭代器来遍历,添加到该容器,这是一种适配器的设计模式。这样就方便了不同Collection子集的数据传递。

 

 

看看这个标题又想起一个问题,面试的时候经常为问到Collection与Collections的区别,大三来IBM实习的时候就被问到了,其实很简单,Collection我就不说了,Collections就类似于Arrays,是容器的一个工具类。

分享到:
评论

相关推荐

    第17章 - 深入研究容器 - Collection(List,Set,Queue)的性能测试框架(单线程中)(P501)

    在深入研究Java集合框架,特别是List、Set和Queue的性能测试时,我们通常会关注它们在单线程环境中的表现...通过深入研究源码和构建测试框架,我们可以根据具体需求选择最高效的容器类型,从而优化我们的Java应用程序。

    02-Java集合容器面试题(2020最新版)-重点.pdf

    ### Java集合容器知识点详解 #### 一、集合容器概述 - **定义**:集合容器是Java平台提供的标准组件,主要用于存储对象。集合框架提供了一套统一的接口和实现,使得开发者能够灵活地处理不同类型的数据集合。 ####...

    Java--collection.rar_SEP_java 集合

    首先,集合框架的基础是`Collection`接口,它是所有单值容器的父接口,包括`List`, `Set`和`Queue`等子接口。`List`接口用于存储有序的元素,允许重复;`Set`接口则存储不重复的元素,无序;而`Queue`接口则定义了...

    Java-Interview-Collection.rar_java 面试

    "Java-Interview-Collection.rar" 是一个针对Java面试准备的资源包,其中包含了一份名为"Java Interview Collection.txt"的文本文件,很可能是对Java面试常见问题的集合。 在Java面试中,以下是一些关键知识点,...

    java练习题--容器使用练习

    通过这些练习,你将巩固对Java容器的理解,提高代码编写效率,并为解决实际问题打下坚实基础。记得在实践中不断挑战自己,尝试不同的场景和数据结构,以便更好地掌握Java容器的精髓。祝你在学习过程中取得优异的成绩...

    Java-Interview-超全集合github上评分最高的jiva面试题

    Java面试是每位Java开发者职业生涯中的重要环节,而GitHub上的高分项目往往汇聚了社区的智慧结晶,提供了丰富的面试准备资源。"Java-Interview-超全集合github上评分最高的jiva面试题"就是一个这样的宝藏,它涵盖了...

    Java-实用程序设计第章-容器类(共52张PPT).pptx

    Java容器类是Java集合框架的重要组成部分,主要用于存储和管理对象。...理解并熟练掌握Java容器类是提升Java编程能力的关键,因为它们是构建复杂数据结构和算法的基础,广泛应用于各种软件系统中。

    Java容器框架 collection集合

    ### Java容器框架 Collection集合 #### 一、基本概念 Java容器类库主要目的是为了存储对象,根据不同的数据结构,可以将其划分为两个主要的概念:**Collection** 和 **Map**。 - **Collection**:这是一个单一...

    _Java-集合容器-2.List及其实现类.ppt

    在Java编程中,集合容器是数据管理的重要组成部分,它们提供了灵活且高效的方式来存储和操作对象。List接口是Java集合框架中的核心接口之一,它继承自Collection接口,并具有特定的特性:元素可以重复,保持元素的...

    mi-yi-collection-bean-master_java_源码

    【标题】"mi-yi-collection-bean-master_java_源码" 涉及的主要知识点是Java集合框架中的Bean类和其在实际项目中的应用。这个压缩包可能包含了一个Java项目,其中的核心部分是对集合对象(如List、Set、Map等)进行...

    02-Java集合容器面试题-重点.docx

    Java 集合容器包括三大块内容:对外的接口、接口的实现和对集合运算的算法。接口是抽象数据类型,允许我们操作集合时不必关注具体实现,从而达到“多态”。实现是集合接口的具体实现,是重用性很高的数据结构。算法...

    arangodb-java-driver:官方ArangoDB Java驱动程序

    ArangoDB是一款开源、多模式的NoSQL数据库系统,支持文档、图形和键值存储模式。为了方便Java开发者在Java应用程序中与ArangoDB进行交互,官方提供了ArangoDB Java驱动程序。这个驱动程序为Java程序员提供了丰富的...

    java容器详细解析

    Java容器主要分为两大类:Collection和Map。 Collection Collection是一个独立元素的序列,这些元素都服从一条或多条规则。Collection接口提供了基本的操作方法,例如add、remove、contains等。 List List是一个...

    java-collection-example

    "java-collection-example"项目旨在展示如何使用Java Collections库的各种组件,包括接口、类和算法。这个库使得开发者能够高效地管理和操作对象集合,无论是简单的数组列表还是复杂的映射结构。 在Java中,集合...

    java---核心编程

    在Java中,集合是用于存储多个对象的容器,它提供了多种操作数据的方法。本文将深入探讨Java集合框架中的Collection接口及其子接口List。 Collection是所有单值集合的顶级接口,它定义了集合的基本操作。Collection...

    java容器学习心得

    ### Java容器学习心得详解 在Java编程中,容器(Containers)是存储和操作对象集合的重要工具,主要包括集合(Collections)和映射(Maps)。本文将深入解析Java容器的关键概念、特性以及不同容器类型的应用场景。 ...

    基础深化和提高-java容器

    Java容器主要分为两大类:Collection 和 Map。 Collection: Collection表示一组对象,它的主要子接口包括List、Set和Queue。其中: List:以线性方式存储元素,允许重复元素,并且可以根据索引访问元素。 Set:不...

    Java-英文面试题-经典.docx

    ### Java 英文面试题详解 #### 1. 什么是瞬态变量(Transient Variable)? 在 Java 中,瞬态变量是指被 `transient` 关键字修饰的成员变量。当一个对象被序列化时,其瞬态变量不会被写入到序列化的数据流中。这...

Global site tag (gtag.js) - Google Analytics