写点什么

Java 集合类、Skip 列表以及 Google

  • 2007-10-14
  • 本文字数:1154 字

    阅读完需:约 4 分钟

虽然有时认为是理所当然,但 Java Collections API 无疑在每天的 Java 软件开发中扮演着重要的角色。然而 API 和相关的项目从未停止过发展。Alex Miller最近提到了 Java 6 中 API 的变化:

其中尤其引发他兴趣的是 SkipList ,它不像许多普通的 CS 数据接口,相对来说是个新的重新:

skip 列表是个概率性的的数据结构,由 William Pugh 在 1990 年发明,列表基于平行的链接列表,效率相对二叉搜索树(对于大多数操作平均需要 O(log n) 时间)有显著改善。

Google 也一直致力于 collections 领域的工作,并发布了一套建立于标准的 Java Collections Framework 的实现类。虽然还是 alpha 版本 ,但 Google 已经把它们使用在自己的许多服务中,比如 GMail,Reader 和 Blogger。除了专注于为既有的 Java Collections Framework 增加复杂性和灵活性以外,Google 也添加了许多的 collections 和工具类来使得编码变得更简单并提高代码可读性。 其中最值得注意的 collection 是:

  • BiMap - 一个确保唯一值并支持反转视图的 Map
  • Multiset - 一个可以像 List 那样包含重复的值,但又有像 Set 那样的独立顺序的 Collection。通常用于描绘柱状图。
  • Multimap - 类似于 Map,但可以包含重复的键。拥有子类 SetMultimap 和 ListMultimap,提供更多特别的行为。
  • ClassToInstanceMap - 一个特殊化的 Map,它的键是 class 而对应的值 class 的实例。

Google 还包含许多跟这些新的 collection 类配合使用的工具类。其中包含:

  • Comparators - 自然顺序的,复合的,支持 null,随机的……
  • IteratorsIterables - 基于 Element 的结构,循环,连接,分割,通过条件过滤,使用函数进行转换
  • Lists,SetsMaps - 过多的方便的工厂方法及其他
  • PrimitiveArrays - 原始数组的“装箱”/“拆箱”
  • Object.equals 和 hashCode - 提供内建的对 null 的处理

Public Object 使用 Google 的 Collection 库编写了大量的示例。这些示例 中包含使用Java Collections/Utilities 的代码片段,也包含当使用Google 的Collection 库时的代码样式。对于如何使用这个类库, MultiMap Objects.equal 和 hashCode 提供了很好的范例。Google 的 Collection 库遵守 JDK 接口,现在是用 1.5 的 JDK 进行开发,并在考虑未来对 JDK1.6 的支持。这里是完整的API FAQ

查看英文原文: Java Collections, Skip Lists, and Google

2007-10-14 09:501560
用户头像

发布了 127 篇内容, 共 45.5 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

柔性算力的创新之作!华为云Flexus X实例以6倍性能,带来旗舰体验

轶天下事

技术突破、业界首款!华为云Flexus 云服务器X实例开启柔性算力新时代

YG科技

企业数字化上云如何解?Flexus X实例柔性算力一键用

平平无奇爱好科技

线索系统性能优化实践

京东零售技术

系统 企业号2024年7月PK榜

面向广大中低负载场景,华为云Flexus 云服务器X实例带来“品价比”新选择

轶天下事

新一代柔性算力Flexus X实例,加速企业数字化业务创新增效

轶天下事

华为云Flexus X实例柔性算力、6倍性能!中等业务负载场景首选

平平无奇爱好科技

腾讯云WeData全新升级:数据分类分级管理,构建数据安全屏障

腾讯云大数据

wedata

三种高级RAG检索方法帮企业告别冗长文档!

神州数码

数字化转型加速器,Flexus X实例提升企业核心竞争力

YG科技

华为云Flexus云服务器 X实例以黑科技驱动,开辟高性能低成本云服务新路径

平平无奇爱好科技

2024年甘肃省7家正规等保测评机构名单汇总

行云管家

网络安全 等保测评 等保测评机构 甘肃

企业自身数据保护技巧你知道多少?用堡垒机可以实现吗?

行云管家

网络安全 数据安全 堡垒机 企业数据安全

新一代柔性算力加速企业轻松上云,Flexus X实例有来头!

轶天下事

轻松破除上云门槛,新一代柔性算力Flexus X实例如此简单

轶天下事

性能高达6倍,Flexus X实例用实力阐述什么是新一代柔性算力

YG科技

天工一刻 | 一文看懂小模型与端侧模型

新消费日报

煤矿安全大模型:微调internlm2模型实现针对煤矿事故和煤矿安全知识的智能问答

汀丶人工智能

人工智能 智能问答

中小企业首选柔性算力服务器,Flexus X实例加速云上性能飞跃

平平无奇爱好科技

如何画一个系统的设计图

京东零售技术

架构 企业号2024年7月PK榜

华为云Flexus云服务器X实例:柔性算力新物种,越用越省!

YG科技

开源之夏|祝贺MatrixOne开源社区项目中选同学!

MatrixOrigin

数据库 云原生 开源社区

以初创游戏公司为例,看华为云Flexus X实例如何赋能中小企业提质增效

平平无奇爱好科技

低代码拖拽式MES系统数据大屏,重塑智能制造新视界

万界星空科技

数字化转型 mes 数据大屏 万界星空科技mes 电子大屏

从美图类场景,看火山引擎数据飞轮如何赋能产品增长

字节跳动数据平台

大数据 用户增长 销售 增长 客户

Apache IoTDB v1.3.2 发布|新增 explain analyze、UDAF 自定义聚合函数框架等功能

Apache IoTDB

新一代柔性算力Flexus X实例,重新定义企业级云服务新标准

轶天下事

华为云技术新突破:Flexus X实例以其柔性算力加速企业一键上云

YG科技

文献解读-长读长测序-第十四期|《作为了解棉花驯化的资源,印度棉(Gossypium herbaceum L. Wagad)基因组》

INSVAST

基因组 基因数据分析 生信服务

电机行业MES生产管理系统--助力电机企业数字化转型

万界星空科技

mes 万界星空科技 电机行业 电机MES 电机工厂

Java集合类、Skip列表以及Google_Java_Scott Delap_InfoQ精选文章