火狐谷歌360 收藏夹共享_教程:使用Google收藏夹编码

2023-11-11 08:40

本文主要是介绍火狐谷歌360 收藏夹共享_教程:使用Google收藏夹编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

火狐谷歌360 收藏夹共享

Google的Collections库的任务是提供一组具有稳定API的新Collection类型和实现,就像JDK一样。 它的开发主要考虑了Google的需求以及强烈遵守Java Collection Framework合同的概念。

该项目始于2007年,谷歌花了相当长的时间才将其发布到了几周前的最终版本中[3]。 尽管Google不能在最终版本发布之前就承诺提供稳定的API,但即使在早期版本中,Google Collections也获得了很大的吸引力。

获取示例代码

您可以从github [4]下载预先打包的基于maven的项目中显示的所有代码示例。 它使用最新的Google Collections版本,在撰写本文时为1.0。 JUnit TestCase中提供了此处介绍的所有内容,您可以使用Maven或您最喜欢的IDE来运行它。

实用程序类

Google Collections提供了一堆非常有用的实用程序类和方法,可以节省大量的样板代码。 第一个示例展示了如何使用Java的Collections Framework的传统方法实例化通用Map

Google Collections的实用程序类与静态导入相结合,使事情变得容易得多:

请注意,您不会收到有关未经检查的分配的任何编译器警告。 Google确保其库具有良好的泛型和类型安全性。 这些实用程序类及其工厂方法也可用于java.util.ListMap

编写单元测试时,一种常见的模式是实例化一个List并向其中添加一些固定装置,稍后将在测试中使用它们确定正确的结果。 让我们看一个例子:


Google收藏夹提供了一种简洁的列表类型,可以更加轻松地实例化您的固定装置,使其固定不变,从而在声明数据时确保正确的结果:


ImmutableList及其同级对象ImmutableMapImmutableSet不仅提供Collection的视图,这是使用Collections.unmodifieableList()时获得的视图,而且是一个真正的不可变的Collection ,它将永远不会改变。

增强的馆藏类型

Google Collections库提供了一组增强的Collections类型和实现。 在不可变类型旁边,还有另一个有趣的类别-Multimap类型。 Multimap实现允许重复的键值对。 使用Java Collections Framework的传统方法来实现这种行为是非常棘手的:


使用Google Collections的Multimap实施将一个键关联多个值很容易。 它还允许您检索特定键的所有值,并将其转换回传统的java.util.Map


这种类型的Collection可能有用的一个常见问题是,将信息与创建包装类不合理的特定类型相关联。 一个示例可以是关联有关用户的各种信息以将其显示在网站上。

如果您想知道的话,这种Multimap还有一个不可改变的对应对象。 尽管名称表示使用类似地图的数据结构,但也有Multimap类型的ListSet实现。

功能性物品

Google Collections库附带了一些好东西,类似于一种实用的方法。 例如,如果您熟悉Groovy,那么以下代码对您来说应该是日常工作。 有一些类用于定义函数,而实用程序类则可以使用这些函数来转换传统或Google的收藏集。 让我们看一个例子:


Google集合的实用工具类Lists提供了一种称为transform的方法,该方法可让您传入List和Function实现,以返回List的转换视图。 这里的一切也都泛化了。 函数定义了期望的类型以及将要返回的类型。 函数的返回类型产生转换后的列表的类型。

使用实用程序类Ordering,您甚至可以订购转换结果。 实用程序类Maps也提供了transform方法。 不幸的是,没有等效的集合。

Iterables是另一个非常整洁的Google Collections实用程序类,它为List和Set实现提供了一些类似于功能的方法:

使用Iterables,您可以提供简单的类型安全的搜索功能。 此外,还有一种方法可让您根据谓词过滤ListSet


terables有更多类似于功能方法的实用方法。 它使您可以组合两个或多个Iterable,并提供用于对Iterable进行分区或删除元素的方法

摘要

Google收藏库为开发人员每天面临的许多问题提供了实用的解决方案。 这些解决方案经过大量开发人员的精心设计,测试和批准。 由于Google使用该库作为其内部代码库,因此他们不太可能放弃对该库的支持。 在最终版本中,该版本带来了稳定的API,因此Google Collections可以用于任务关键型应用程序。


翻译自: https://jaxenter.com/tutorial-coding-with-google-collections-100157.html

火狐谷歌360 收藏夹共享

这篇关于火狐谷歌360 收藏夹共享_教程:使用Google收藏夹编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388858

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti