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

可以做网站的编程有什么/阿里云域名

可以做网站的编程有什么,阿里云域名,网站做多语言,外贸平台收费标准Java 集合框架概览 简介(Introduction) jdk中包含了一个集合框架 (collections framework),定义了表示和操作集合的统一方式。集合本身也是对象,但常常用来表示一组其他的对象。 统一的集合框架会带来以下好处: 不需要重新设计、实现数据结构…

Java 集合框架概览

简介(Introduction)

jdk中包含了一个集合框架 (collections framework),定义了表示和操作集合的统一方式。集合本身也是对象,但常常用来表示一组其他的对象。

统一的集合框架会带来以下好处:

  • 不需要重新设计、实现数据结构和算法
  • 框架包含性能良好的数据结构和算法实现
  • 框架定义了统一的集合表示方式,为不同的API提供了互操作性
  • 不需要学习多套集合API,降低了学习成本
  • 代码复用

集合框架由以下部分组成:

  • 集合接口(collection interfaces)
  • 通用实现(general-purpose implementations)
  • 旧API的新实现(legacy implementations)
  • 特定实现(special-purpose implementations)
  • 并发实现(concurrent implementations)
  • 包装实现(wrapper implementations)
  • 简单实现(convenience implementations)
  • 抽象实现(abstract implementations)
  • 集合相关算法(algorithms)
  • 基础接口(infrastructure)
  • 数组相关工具类(array utilities)

集合接口(Collection Interfaces)

集合接口分为两组。java.util.Collection是最基础的接口,有如下派生接口:

  • java.util.Set
  • java.util.SortedSet
  • java.util.NavigableSet
  • java.util.Queue
  • java.util.concurrent.BlockingQueue
  • java.util.concurrent.TransferQueue
  • java.util.Deque
  • java.util.concurrent.BlockingDeque

其他的集合接口基于java.util.Map,并不是真正意义上的集合,但是,这些接口中包含集合视图操作,可以支持集合的相关操作。Map有如下派生接口:

  • java.util.SortedMap
  • java.util.NavigableMap
  • java.util.concurrent.ConcurrentMap
  • java.util.concurrent.ConcurrentNavigableMap

集合接口定义的很多修改集合的方法,可以选择性实现,如果具体的实现不支持某种操作,使用时会抛出UnsupportedOperationException,具体可参考特定实现的文档。集合框架规范中做了如下约定:

  • 不可修改(unmodifiable)。集合不支持修改操作,如add,remove, clear
  • 不可变(immutable)。集合不支持修改操作,并保证Collection对象的改变不可见
  • 固定大小(fix-sized)。列表元素个数不变,元素可以改变
  • 随机接入(random access)。列表支持快速访问元素,访问时间一般是常量

集合实现(Collection Implementations)

实现集合接口的类通常命名为<Implementation-style><Interface>。下表总结了集合接口的通用实现

InterfaceHash TableResizable ArrayBalanced TreeLinked ListHash Table + Linked List
SetHashSetTreeSetLinkedHashSet
ListArrayListLinkedList
DequeArrayDequeLinkedList
MapHashMapTreeMapLinkedHashMap

通用的集合实现支持集合接口中的所有可选操作,不限制集合所能包含的元素,并且是非同步的(unsynchronized),Collections类包含了静态工厂方法,能够将很多非同步集合包装为同步集合,新实现集合的迭代器检测到非法并发修改时,都会快速停止迭代(fail-fast)。

JDK中的AbstractCollection,AbstractSet,AbstractList, AbstractSuquentialList和AbstractMap类提供了核心集合接口的基本实现,降低了自定义实现的难度。具体可参考对应抽象集合类的文档,自定义实现时,选择性的覆盖其中的一些方法。

并发集合(Concurrent Collections)

集合经常会在并发编程(concurrent programming)中使用,集合框架中包含了很多并发集合接口和实现。

并发集合接口

  • BlockingQueue
  • TransferQueue
  • BlockingDeque
  • ConcurrentMap
  • ConcurrentNavigableMap

并发集合实现,具体用法参考JDK的API文档

  • LinkedBlockingQueue
  • ArrayBlockingQueue
  • PriorityBlockingQueue
  • DelayQueue
  • SynchronousQueue
  • LinkedBlockingDeque
  • LinkedTransferQueue
  • CopyOnWriteArrayList
  • CopyOnWriteArraySet
  • ConcurrentSkipListSet
  • ConcurrentSkipListMap
  • ConcurrentHashMap

设计目标(Design Goals)

集合框架的主要设计目标是形成一套在代码量和概念上足够轻量的API。其中很重要的一点是,新特性的引入不会给现有的API使用者增加负担,做增量修改,而不是替代。另外,新的API需要功能足够强大,满足不同场景下的使用需求。

为了保持接口中方法数量足够少,核心接口不会定义集合的可变性(mutability)、可修改性(modifiability)、大小可变化性(resizability)等,而是将其作为可选操作,具体的实现通过抛出UnsupportedOperationException异常表明不支持某项操作,

核心接口只会在下面的情况中定义新的方法:

  • 基础操作(fundamental operation)
  • 接口可以提供最佳实现

框架还提供了一些方法,使集合可以转换为数组,数组可以提供集合视图,哈希可以提供集合视图等

参考链接

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

相关文章:

  • 如何做网站解析/短视频推广渠道有哪些
  • 医院网站前置审批/热点事件
  • 网站开发面向对象/海外游戏推广平台
  • 中英文网站用一个域名还是两个域名利于优化/志鸿优化设计
  • 大连建设网站的公司/南昌seo网站管理
  • 深圳网站建设大全/自己做网站需要什么条件
  • 上海市建设人才网站/企业线上培训课程
  • 竞价可以做两个网站吗/产品推广平台
  • 三角形景观绿化设计图/厦门seo外包平台
  • 武进网站制作公司/seo排名点击软件
  • 邯郸做移动网站费用/网站搜索引擎优化
  • 打开网站后直接做跳转页面吗/推广联系方式
  • 昆山张浦做网站/产品策划方案怎么做
  • 织梦建站教程视频/seo是什么地方
  • 做pc端网站咨询/南京百度搜索优化
  • 网站推广服务合同/免费的网页制作软件
  • 做视频网站怎么赚钱/广州网站优化多少钱
  • 如何制作动态网页/南宁seo优势
  • 网站开发 脚本怎么写/深圳seo优化排名
  • 网站建设华科技/百度网站制作联系方式
  • wordpress内容里的图片大小/怎么优化关键词
  • 网站建设的几点体会/郑州seo线上推广系统
  • 政府网站建设文案/百度top排行榜
  • 网站开发域名注册功能/个人接app推广单去哪里接
  • 网站推广软件破解版/市场营销培训课程
  • 合肥公司建设网站/网络营销策划书总结
  • 徐州集团网站建设方案/网络营销的特点和优势
  • ppt做的最好的网站有哪些/合肥网站制作
  • 电子商务网站建设主要内容/百度注册网站
  • 建什么网站可以赚钱/河南网站建站推广
  • Hive 创建事务表的方法
  • Git核心机制:工作区、暂存区与版本库
  • 获取数组,字符串,集合的长度
  • 【PyTorch学习笔记 - 01】 Tensors(张量)
  • C#高级语法_泛型
  • Elasticsearch QueryDSL 教程