当前位置: 首页 > news >正文

经典wordpress网站/下载百度官方网站

经典wordpress网站,下载百度官方网站,公司有域名的怎么建设网站,网站源码怎么做接口类图 Java Collection由两套并行的接口组成,一套是Collection接口,一套是Map接口。例如以下图 公共抽象类AbstractCollection 要求派生类实现iterator()方法,AbstractCollection依据得到的Iterator实现全部能够支持的方法,比方…

接口类图

Java Collection由两套并行的接口组成,一套是Collection接口,一套是Map接口。例如以下图


公共抽象类AbstractCollection

要求派生类实现iterator()方法,AbstractCollection依据得到的Iterator实现全部能够支持的方法,比方remove()、contains()、toArray()、toString()等。

当然,Map系列的类并不从AbstractCollection派生。


List实现



AbstractList

要求子类实现get(int)和size()方法,AbstractList利用这两个模板方法,实现出完整的仅仅读List。

 

ArrayList

利用Object[]实现的List。

 

AbstractSequentialList

利用ListIterator接口,实现get(index)、set(index)、remove(index)、add(index, value)等随机訪问的方法。

 

LinkedList

单向链表。以下是链表中每一个节点的定义:

    privatestaticclass Node<E> {

        E item;

        Node<E> next;

        Node<E> prev;

    }

 

Vector

线程安全的List,採用synchronized(this)进行加锁。内部採用Object[]实现。

 

Stack

对Vector进行的简单封装。

 

CopyOnWriteArrayList

注意此类直接从Object派生。

线程安全。每一个add、set等改动操作。都会导致对内部数组进行全新复制。Iterator()函数返回的迭代器对象,包括了当前array的一个快照。因此,对CopyOnWriteArrayList对象的改动,不会影响已经生成的迭代器对象,仅仅是迭代器对象看到的快照有可能是过时的。


 

Queue实现

 

ArrayDeque

用环形数组实现的Deque。自己主动增长数组大小。

不能接受null元素。

非线程安全。

 

AbstractQueue

抽象类。利用模板函数实现了几个功能,比方addAll()

 

ConcurrentLinkedQueue

线程安全。

但这仅仅是表示并发操作不会破坏内部结构,可是toArray()、迭代器、addAll()等操作不是原子的。

不能接受null元素。

用单向链表实现。

使用了非JDK类sun.misc.Unsafe。

 

PriorityQueue

优先队列。利用优先堆实现。

非线程安全。

增加的元素必须支持全排序。

不能接受null元素。

 

DelayQueue

实现的时候用到了PriorityQueue。

非线程安全。

支持Blocking操作。

能够用于连接超时自己主动移除、缓存超时自己主动移除等场景。

注意事项:假定DelayQueue中的元素类型为T。

1.        T.getDelay()应该返回超时值

2.        T必须能够全排序

3.        T最好是依据超时值进行全排序。而且全排序一旦排好,比較结果不应该随着Delay值变化而变化。

 

SynchronousQueue

线程安全。

不接收null元素。

特点是put和take函数必须同一时候运行。才干所有返回;不论什么一个单独运行仅仅会导致等待。

 

PriorityBlockingQueue

带有Blocking功能的优先队列。

 

LinkedBlockingQueue

带有Blocking功能的Queue

用单向链表实现。

创建的时候能够指定容量,没有指定容量就是Integer.MaxValue。容量在创建后不能改动。

已满状态运行put会导致等待。

为空状态下运行take会导致等待。

 

ArrayBlockingQueue

带有Blocking功能的Queue

用Array实现。

创建的时候必须指定容量。而且创建后不能改动。

已满状态运行put会导致等待。

为空状态下运行take会导致等待。


Set实现


AbstractSet

抽象基类。通过Iterator实现几个通用方法。

 

HashSet

内部包括了一个HashMap对象。

向HashSet中加入一个元素X,相当于向HashMap对象加入一个<X,DummyObject>二元组。

非线程安全。

接收null元素。

 

LinkedHashSet

内部包括了一个LinkedHashMap对象。

非线程安全。

接收null元素。

採用Iterator迭代的时候。依据元素加入的顺序排序。

 

TreeSet

内部包括了一个TreeMap对象。

向TreeSet中加入一个元素X,相当于向TreeMap对象加入一个<X,DummyObject>二元组。

非线程安全。

不接受null元素。

 

ConcurrentSkipListSet

内部包括了一个ConcurentSkipListMap。

线程安全。

不接收null元素。

 

CopyOnWriteArraySet

内部包括了一个CopyOnWriteArrayList做实际的数据存储,因此这实际上是一个Array。


Map实现

 

AbstractMap

抽象类。利用entrySet()模板方法实现了一些通用方法。

 

HashMap

哈希表

Key和Value都能够为null。

非线程安全。

 

LinkedHashMap

从HashMap派生,整个哈希结构都是利用了HashMap来实现

每一个插入的Value。都通过一个双向链表连接起来。

能够指定链表的顺序是依照插入时间排序、还是依照訪问时间排序。

假设是依照訪问时间排序,每次訪问都要调整链表。

 

TreeMap

基于红黑树实现的Map。

非线程安全。

 

ConcurrentHashTable

基于哈希表实现。

构造函数中能够指定并发程度,也就是预期有多少更新线程。

 

ConcurrentSkiptListMap

支持并发的跳跃表

 

IdentityHashMap

哈希表

内部採用==推断key的相等性。

 

EnumMap

接收Key为Enum类型的Map。

内部用数组来存储Value,即Value == this.Vals[Key.ordinal]。效率高。

 

WeakHashMap

每一个Key用WeakReference管理。当Key对象符合弱引用的回收条件时。就被回收。

Size()方法返回的是还没有被回收的Key对象的数量。

假设Key已经被回收,get方法放回null。

利用哈希表实现。

实现上,每一个<Key,Value>相应一个Entry。每一个Entry都是WeakReference的派生类对象。该Entry对象也就是Key的WeakReference。

 

 

集合类的区分因素

1.        支持哪些操作接口

2.        内部实现的数据结构。及其对应的时空复杂度

3.        是否对插入元素的数量有限制

4.        是否支持插入null元素

5.        是否线程安全

6.        是否支持堵塞





转载于:https://www.cnblogs.com/yangykaifa/p/7147767.html

http://www.lbrq.cn/news/832771.html

相关文章:

  • 网站布局教程/google app下载
  • 如何将自己做网站放上网/山东seo推广公司
  • 温州微网站开发/网络推广员为什么做不长
  • 做网站选择系统/seo推广一个月见效
  • vuejs做视频网站/大数据营销是什么
  • 微信制作网站公司简介/黑帽seo排名优化
  • 宁波专业网站建设公司/网络培训平台
  • 网站备案 谁接入谁负责/域名购买哪个网站好
  • 个人免费注册公司网站/百度上首页
  • 合肥做网站web0551/相亲网站排名前十名
  • 品牌形象宣传策划方案/湖南关键词优化推荐
  • 嘉兴做网站/湖南靠谱关键词优化
  • gps建站教程视频/德州网站建设优化
  • 天津seo培训哪家好/搜索引擎优化核心
  • 集团网站设计建设/ai智能搜索引擎
  • 烟台做网站排名/企业培训师
  • 湖南星大建设集团有限公司网站/百度手机快速排名点击软件
  • 企业电商网站商城建设/b2b免费发布信息网站
  • 什么是网站收录/中国站长站
  • 吉林网站建设吉林/上海搜索引擎优化公司排名
  • magento网站制作/北大青鸟职业技术学院简介
  • 中国银行全球门户网站/淘宝关键词排名怎么查询
  • 百度收录最高发帖网站/推销一个产品的方案
  • 公司网站建设升上去/游戏行业seo整站优化
  • 长沙网站制造/商城网站开发公司
  • 怎么做网站然后卖出去/网站如何发布
  • 网站flash效果/百度站长平台官网登录入口
  • 网站制作教程及流程/优化seo厂家
  • 域名通过了才可以做网站吗/关键词分析软件
  • 建站之星有手机版模板/站长统计app进入网址新版
  • 在云端解锁硬件的无限可能 —— 深圳航天科技创新研究院赋能新一代仿真教学平台
  • Java大厂面试实录:从Spring Boot到AI微服务架构的深度解析
  • 三轴云台之测距算法篇
  • 【Linux手册】缓冲区:深入浅出,从核心概念到实现逻辑
  • 高光谱相机(Hyperspectral Camera)
  • C#.NET BackgroundService 详解