`
arcticfox9902
  • 浏览: 107368 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[Google Guava笔记](七)collect

阅读更多

5.51  CustomConcurrentHashMap<K,V>:继承 AbstractMap<K,V>,实现 ConcurrentMap<K,V>

 

以下内容引自:http://www.blogjava.net/xylz/archive/2010/07/20/326661.html,在此对imxylz表示感谢!

       默认情况下 ConcurrentHashMap是用了 16个类似 HashMap 的结构,其中每一个 HashMap拥有一个独占锁。也就是说最终的效果就是通过某种 Hash算法,将任何一个元素均匀的映射到某个 HashMap Map.Entry上面,而对某个一个元素的操作就集中在其分布的 HashMap上,与其它 HashMap无关。这样就支持最多 16个并发的写操作。

 

5.52  ComputingConcurrentHashMap<K,V>:继承 CustomConcurrentHashMap<K,V>,实现 Cache<K,V>

5.53  ForwardingConcurrentMap<K,V>:抽象类,继承 ForwardingMap<K,V>,实现 ConcurrentMap<K,V>。它的子类有 MapMaker.ComputingMapAdapter ComputingConcurrentHashMap.AdbstractSerializationProxy

5.54 ConcurrentHashMuiltiset<E>:继承 AbstractMultiset<E>

5.55  Constraints:是 Constraint的工厂类和工具类。

静态方法:

notNull():返回一个检查参数是否为空的 Constraint

          constraintCollection(Collection<E> collection, Constraint<? Super E> constraint):返回一个 Collection,该 Collection的添加新的元素的操作是被 constraint约束的,如果被插入的元素不满足 constraint约束则会抛出异常。

其它的静态方法与 constraintCollection类似,只是 Collection的类型不同。

 

5.56  ImmutableCollection<E>:抽象类,实现了 Collection<E>接口,是不可改变的容器,不支持增加、删除元素的操作。有四个内部类: EmptyImmutableCollection ArrayImmutableCollection SerializedForm Builder

5.57  ImmutableXXX EmptyImmutableXXX RegularImmutableXXX SingletonImmutableXXX ImmutableCollection的子类 (或子类的子类 ) EmptyXXX容器没有任何元素, SingletonXXX容器只有一个元素, RegularXXX有一个或多个元素。

5.58  EnumBiMap

5.59  EnumHashBiMap

5.60  EnumMultiset

5.61  ForwardingXXX:内部封装了相应的对象,它的所有方法都直接转到封装对象的方法。

5.62  StandardTable<R, C, V>:实现了 Table接口,内部封装了一个 Map<R, Map<C, V>> backingMap和一个工厂 factory

成员方法:

cellSet():返回由 Table的元素 Cell组成的 Set

row(R rowKey):返回行为 rowKey Map<C, V>

column(C columnKey):返回列为 columnKey Map<R, V>

rowKeySet():返回由 Table的行 Key组成的 Set

columnKeySet():返回由 Table的列 Key组成的 Set

values():返回由 Table的值组成的 Collection

rowMap():返回以行 Key为键的 Map

columnMap():返回以列 Key为键的 Map

5.63  HashBasedTable<R, C, V>:继承 StandardTable<R, C, V>

静态方法:

create(...):新建一个 HashBasedTable

 

以上。

 

 

分享到:
评论

相关推荐

    pyzmq-23.1.0-cp310-cp310-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    MAVEN 教程和详细讲解

    MAVEN 教程和讲解

    人工智能基础知识背诵(大学生期末)

    人工智能基础知识背诵(大学生期末)

    pyzmq-25.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.23.0-cp37-cp37m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    算法部署-基于OpenVINO+Python部署YOLOv9目标检测算法-附项目源码+一键执行-优质项目实战.zip

    算法部署_基于OpenVINO+Python部署YOLOv9目标检测算法_附项目源码+一键执行_优质项目实战

    debian armhf系统opencv安装依赖包包含libjasper libtiff5 libjpeg

    libjasper1_1.900.1-debian1-2.4+deb8u6_armhf.deb libjasper-dev_1.900.1-debian1-2.4+deb8u6_armhf.deb libjpeg62-turbo_1.3.1-12+deb8u2_armhf.deb libjpeg62-turbo-dev_1%3a1.5.2-2+deb10u1_armhf.deb libjpeg-dev_1%3a1.5.2-2+deb10u1_all.deb libtiff5_4.1.0+git191117-2~deb10u9_armhf.deb libtiff5-dev_4.1.0+git191117-2~deb10u9_armhf.deb 找了好久终于找齐了,不容易

    Celery库,Python的邮递员

    Celery是一个开源的分布式任务队列系统,用于在后台执行异步任务,常在需要大规模消息处理的Web应用中使用。以下是Celery库的介绍: ### Celery库介绍 #### 1. 基本概念 - **Celery**: 一个基于Python的分布式任务队列,用于执行异步后台任务。 - **任务队列**: 一种用于管理和执行任务的系统,可以提高应用的响应性和可扩展性。 #### 2. 主要特点 - **异步执行**: 允许任务在后台异步执行,不阻塞主线程。 - **分布式**: 支持跨多个worker节点分布任务。 - **可扩展性**: 易于扩展以处理大量任务。 - **可靠性**: 支持任务重试机制,确保任务最终被执行。 #### 3. 核心组件 - **任务(Task)**: 后台执行的函数或方法。 - **Worker**: 负责执行任务的进程。 - **Broker**: 中间人,消息代理,用于接收和转发任务消息。常见的Broker有RabbitMQ和Redis。 - **结果后端**: 用于存储任务执行结果的系统,如数据库或Redis。

    07杯型基础工程.doc

    07杯型基础工程

    采样热网络,用于计算轴承温度matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    树状数组简介及基础教程及特点阐述.rar

    树状数组树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述.rar树状数组简介及基础教程及特点阐述

    PHP语言教程&简单案例

    PHP语言案例简介: 本案例提供了一个使用PHP语言编写的简单Web页面程序,目的是展示如何在Web页面上输出"Hello, World!"。这个程序是PHP编程的基础示例,适合初学者作为学习PHP语言和Web开发的起点。 - **语言特性**: PHP是一种服务器端脚本语言,特别适用于创建动态Web页面和Web应用程序。 - **程序结构**: 程序结合了HTML和PHP代码,HTML负责页面结构,PHP负责服务器端逻辑和动态内容输出。 - **主要功能**: 程序运行后,在Web浏览器中显示一个包含"Hello, World!"文本的页面。 - **适用人群**: 适合对Web开发感兴趣的初学者,以及希望快速了解PHP编程基础的开发者。 - **学习价值**: 通过这个案例,学习者可以了解PHP的基本语法、如何在Web页面中嵌入PHP代码、以及如何通过PHP输出内容到Web页面。 - **运行方式**: 需要将PHP代码保存为`.php`文件,并在支持PHP的服务器上运行,通过Web浏览器访问结果。 - **环境搭建**: 需要安装PHP解释器和配置Web服务器(如

    pyzmq-25.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    海伦约会测试集data-test.txt

    海伦约会测试集data-test.txt

    软件工程(本科课程)期末考试速成

    内含基本考试大纲、试题、模拟题和知识点总结,帮助考前巩固速成。如有和课件或课本内容不符之处,请酌情参考,以本校讲解为重。文件或有疏漏,请留言更改,前人栽树功德无量。

    1717775450954003_order-blog.xhtml

    1717775450954003_order-blog.xhtml

    grpcio-1.24.3-cp37-cp37m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于springboot+vue的古典舞在线交流平台的设计与实现+mysql数据库脚本(高分毕业设计).zip

    本项目是一套基于SpringBoot+Vue的古典舞在线交流平台的设计与实现,搭配MySQL数据库脚本。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。包含:项目源码、数据库脚本、项目说明等,有论文参考,该项目可以直接作为毕设使用。 技术实现方面,后台框架采用SpringBoot,数据库选用MySQL,开发环境包括JDK、IDEA和Tomcat。所有项目都经过严格调试,确保可以运行!如果基础还行,可以在此代码基础之上进行改动以实现更多功能。博主可有偿提供毕设相关的技术支持,非诚勿扰。 该平台旨在为用户提供一个专业的古典舞交流与分享空间,功能涵盖用户注册登录、发布舞蹈视频、评论互动、点赞收藏以及个人中心管理等。通过这些功能,用户可以方便地分享自己的舞蹈作品,欣赏他人的表演,并与其他舞蹈爱好者进行互动交流。 总之,这是一个非常实用的古典舞在线交流平台,无论是对于舞蹈爱好者还是计算机专业的学生来说都具有很高的参考价值和使用价值。运行测试ok,毕业设计、课程设计高分资源,放心下载使用!

    期末模拟2答题结果.zip

    期末模拟2答题结果.zip

    基于ssm框架网上花店系统毕业论文

    摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此鲜花销售信息的管理计算机化,系统化是必要的。设计开发网上花店不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于鲜花销售信息的维护和检索也不需要花费很多时间,非常的便利。 网上花店是在MySQL中建立数据表保存信息,运用SSM+Vue框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。管理员登录进入本人后台之后,主要完成花材选择管理,用户管理,鲜花管理,鲜花出入库管理,鲜花订单管理等。用户联系客服咨询问题,查看鲜花,可以收藏,购买,评论鲜花,支付订单,管理个人订单等。 网上花店在让鲜花销售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升网上花店提供的数据的可靠性,让系统数据的错误率降至最低。 关键词:网上花店;MySQL;SSM+Vue框架

Global site tag (gtag.js) - Google Analytics