`

系统研究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,是容器的一个工具类。

分享到:
评论

相关推荐

    Java容器框架 collection集合

    java集合框架总结 Collection体系结构 ArrayList源码解读 HashMap HashSet 深入讲解java集合框架

    基础深化和提高-java容器

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

    Java容器有两种基本类型Collection 和 Map

    Java容器有两种基本类型Collection 和 Map

    java 集合类 容器类

    java 集合类 容器类 Collection 很让人费解的东西

    java容器类

    java 容器类 集合类 Collection 你懂了吗

    集合以及其相关方法介绍.txt

    Collection Map 存储都value 存储的是key - value 键、值 List set 有序可重复 无序无重复 key是无序无重复的 value 无序可重复 序:顺序的意思,向集合里面放进去的顺序和取出的顺序是一致的...

    21天学通Java-由浅入深

    271 14.3 JPanel面板类 273 14.3.1 容器介绍 273 14.3.2 JPanel面板类简介 274 14.3.3 创建面板 274 14.4 JLabel标签类 275 14.4.1 JLabel标签类简介 275 14.4.2 创建标签 276 14.5 JButton按钮类 276 14.5.1 ...

    JAVA容器讲解.pdf

    Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)

    Java中的容器.doc )

    Java的容器类有两种基本类型:Collection和Map,区别在于容器中每个位置保存的元素个数。Collection每个位置只能保存一个元素,Map保存的是键值对。 2、迭代器,是一个对象,它的工作是遍历并选择序列中的对象,...

    java jdk-api-1.6 中文 chmd

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    java容器详解(collection,list,set,map)

    java集合的详解,collection,list,set,map疑难解答,对于对容器似懂非懂的新手来说,这无疑是给你指点迷津的一个非常不错的选择,讲解内容丰富。

    java容器类研究与分析

    容器类研究与分析,总结了经常遇到的困惑,适合初学者了解java容器类。希望能对你学习java有所帮助!

    java中集合容器的详细介绍

    在常见用法中,集合(collection)和数学上直观的集(set)的概念是相同的。集是一个唯一项组,也就是说组中没有重复项。实际上,“集合框架”包含了一个 Set 接口和许多具体的 Set 类。但正式的集概念却比 Java ...

    Java容器.xmind

    Collection 标记: 顶级接口 List 标记: interface ArrayList 标记: class CRUD : boolean add​(E e) boolean remove​(Object o) E set​(int index, E element) E get​(int index) 底层数组实现,查询快,...

    JAVA_API1.6文档(中文)

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    JAVA容器的作用和概览

    Collection 表示一组对象,它是集中,收集的意思,就是把一些数据收集起来 Collection接口的两个子接口: Set中的数据没有顺序,不可重复。 List中的数据有顺序,可重复。

    Java容器

    Java容器 有两种容器:一个是Collection容器,存放对象的集合;另一种是Map容器,存放键值对(Key-value)集合 Collection容器 从图上我们可以看到Collection接口下有三个儿子,分别是Set,List,Queue;下面我来逐个...

    毕业就业-刷题库Java面试题大全(2021年-2022年).rar

    三、Java异常面试题 1. Error 和 Exception 区别是什么? 2. 运行时异常和一般异常(受检异常)区别是什么? 3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别?...

    think in java线程和容器2

    java线程中容器使用技术,比如List接口是在Collection的基础上添加了大量方法,有两种基本类型:ArrayList,它擅⻓于随机访问元素,但是List中间插入或移除元 素时较慢;LinkedList,它和ArrayList的特性正好相反。...

    Java并发编程:同步容器

    为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具...  注意Collection和Map是一个顶层接口,而List、Set、Queue则继承了Collection接口,分别代表数组、集合和队列这三大类容器。  像ArrayLis

Global site tag (gtag.js) - Google Analytics