容器--Collection和AbstractCollection】的更多相关文章

一.前言 容器是JAVA中比较重要的一块,整个体系设计得非常好,同时对于代码学习来说也是比较好的范例.同时很多面试官也比较喜欢用容器来考察面试者的基础知识,所以掌握好容器还是比较重要的.本文主要总结一下所有容器的公共接口之一Collection以其抽象实现AbstractCollection. 二.Collection介绍 JDK的官方文档对Collection的定义是这样的:The root interface in the collection hierarchy. A collection…
1.介绍    collection<E>是java中容器的最主要的接口,该接口继承于Iterable<E>,使得java中所有实现Collection<E>的容器类,都能有统一的访问接口.Collection仅仅定义一组保有元素的最基本的操作集合.不包含获取元素和随机访问元素的操作集合,也不包含替换.插入等接口,就连remove.removeAll.retainAll方法都是可选的方法.但是作为持有元素的容器,这体现了接口最小职责的原则,使得大多数具体类型的容器能实现…
在通向具体化的List,Queue之前,我们需要先了解一下Collection接口和AbstractCollection抽象类,这两个都是处于Collection顶层的存在. Collection接口,是Collection hierarchy的根接口,我们来看其定义了哪些必须实现的方法: /** Collection接口,是CollectionC hierarchy的根接口. 一个Collection表示一些元素对象的聚集; 一些Collection的实现类允许重复的元素对象,另一些不允许:…
1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayList.LinkedList.HashSet.HashMap是常用的具体对象.注:实际类图与右图存在一些差异. Collection 层次结构 中的根接口.Collection 表示一组对象,这些对象也称为 collection 的元素.一些 collection 允许有重复的元素,而另一些则不允许.…
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Iterator iterator():返回一个Iterator对象,用于遍历集合中的元素 Object[] toArray():将集合转换为一个数组,所有集合元素变成相应的数组元素 boolean add(object o):向一个集合中添加一个元素 boolean addAll(Collection…
1.List ArrayList 可随机访问元素,但中间插入和一处元素较慢 LinkedList 在中间进行的插入和删除操作代价较小,随机访问比ArrayList较慢 特性集比ArrayList大 2.set HashSet 无序 使用散列函数 TreeSet 有顺序,按升序 将元素存储在红黑树中 LinkHashSet 有顺序,按插入顺序 因查询速度的原因也用了散列 使用了链表来维护元素的插入顺序 3.map 同set HashMap TreeMap LinkedHashMap…
1.容器(Collection)也称为集合, 在java中就是指对象的集合. 容器里存放的都只能是对象. 实际上是存放对象的指针(头部地址): 这里对于八种基本数据类型,在集合中实际存的是对应的包装类! 为什么要引出容器呢?java中的数组不是也能满足部分要求? 数组中元素类型必须一致:而且数组长度难以扩充,需要扩充的话,需要把原先的数组复制到一个新的数组,使用System.arraycopy();这样十分耗费CPU资源和内存空间 class A{ private int i; public A…
高性能编程在对不同场景下对于容器的选择有着非常苛刻的条件,这里记录下前人总结的经验,并对源码进行调试 JDK高性能编程之容器 读书笔记内容部分来源书籍深入理解JVM.互联网等 先放一个类图util,点击打开看明细 j360-jdk调试功能 https://github.com/xuminwlt/j360-jdk 内容 容器 -Collection List  ArrayList  LinkedList  Vector   Stack Set  HashSet Queue -Map  HashMa…
labels:Collection List Set和Map用法与区别 java 散列表 集合 Collection           接 口的接口      对 象的集合   ├   List                    子接口         按进入先后有序保存      可 重复   │├   LinkedList                 接口实现类      链表      插入删除      没有同步      线程不安全   │├   ArrayList     …
概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set. List和Set都是接口,它们继承于Collection.List是有序的队列,List中可以有重复的元素:而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类. 为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数:这样,在Co…