关闭

[置顶] Google Guava 中文指南

标签: javaGuava谷歌开发人员指南
1573人阅读 评论(0) 收藏 举报
分类:

温馨提示:Guava 中文指南的 GitHub 地址为 guava-guide,欢迎大家StarFork,纠错。

Guava 中文指南

  Guava 项目包含若干被 Google 的 Java 项目依赖的核心类库,例如:集合、缓存、原生类型支持、并发库、通用注解、字符串处理、I/O 等等。Google 的开发者们每天都在使用这些工具进行项目的开发。但是查阅 Javadoc 并不总是最有效的学习这些类库的方式。在这里,我们尝试为 Guava 中一些最受欢迎和最有用的功能提供更具可读性的说明。

  • 基础工具[Basic utilities]:让我们更愉快的使用 Java 语言。
  • 集合[Collections]:Guava 扩展了 JDK 的集合体系,这是 Guava 最成熟且最受欢迎的部分。

    • 不可变集合:为了进行防御性编程、使用常量集合和提高效率。
    • 新集合类型:提供了多集合、多 Map、多表、双向 Map 等。
    • 强大的集合工具类:普通的操作并没有在java.util.Collections中提供。
    • 扩展工具类:装饰Collection?实现Iterator?我们让类似的操作变的更简单。
  • 图[Graphs]:这是一个图结构数据的模型类库,它展现了实体以及图和实体之间的关系,主要的特点包括:

    • 图[Graph]:图的边缘是没有自己标识和信息的匿名实体。
    • 值图[ValueGraph]:图的边缘关联着非唯一的值。
    • 网络[Network]:图的边缘是唯一的对象。
    • 支持可变的、不可变的、定向的和无向的图以及其他一些属性。
  • 缓存[Caches]:支持本地缓存,也支持多种缓存过期行为。

  • 函数风格[Functional idioms]:Guava 的函数风格能够显著的简化代码,但请谨慎使用。

  • 并发[Concurrency]:强大而简单的抽象,让编写正确的并发代码更简单。

    • ListenableFuture: Future,结束时触发回调 。
    • Service:开启和关闭服务,帮助我们处理困难的状态逻辑。
  • 字符串[Strings]:非常有用的字符串处理工具,包括分割、拼接等等。

  • 原生类型[Primitives]:扩展了 JDK 没有提供的原生类型(像intchar)操作,包含了某些类型的无符号变量。

  • 区间[Ranges]:Guava 强大的 API 提供了基于Comparable类型区间比较功能,包连续类型和离散类型。

  • 输入输出流[I/O]:针对 Java 5 和 Java 6 版本,简化了 I/O 操作,尤其是 I/O 流和文件操作。

  • 散列[Hashing]:提供了比Object.hashCode()更负责的哈希实现,包含了 Bloom 过滤器。

  • 事件总线[EventBus]:在不需要组件之间显示注册的情况下,提供了组件之间的发布-订阅模式的通信。

  • 数学运算[Math]:优化了 JDK 已经提供的数学工具类,并彻底的测试了 JDK 没有提供的数学工具类。

  • 反射[Reflection]:对应 Java 反射能力的 Guava 工具类。

Guava 的使用方法:

如果我们使用 Maven 进行项目管理,那么我们只需要在POM.xml中添加如下依赖:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.0</version>
  <!-- or, for Android: -->
  <version>23.0-android</version>
</dependency>

而如果我们使用 Gradle 进行项目管理,那么我们则需要在config.gradle中添加如下依赖:

dependencies {
  compile 'com.google.guava:guava:23.0'
  // or, for Android:
  compile 'com.google.guava:guava:23.0-android'
}

翻译声明:本文翻译自 GitHub,Google Guava - Home - User Guide

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Google Guava官方教程(中文版)

原文链接:http://ifeve.com/google-guava/引言Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [c...
  • axi295309066
  • axi295309066
  • 2016-12-18 11:42
  • 2683

Guava介绍 – Google的Java常用类库

Guava的前身是Google Collections,是Google开源出来的一个Java常用类库,包含了一些集合的便捷操作API。从Google Collections进化到Guava后,对常用的...
  • superdog007
  • superdog007
  • 2014-05-20 08:54
  • 6067

使用Google Guava来编写优雅的代码一Guava简介

以往我们在使用工具包的时候首先想到是著名的Apache的Commons系列,今天我要介绍的是同样出色,并且目前发展比Apache Commons系列更为迅速的Google Guava库。 Goo...
  • kobejayandy
  • kobejayandy
  • 2013-10-27 22:16
  • 12545

Google C++ 编程风格指南(中文翻译)-2

类,未完,待续。
  • elite7
  • elite7
  • 2011-03-21 21:36
  • 2201

com.google.guava_1.6.0.jar.zip

  • 6天前 13:43
  • 816KB
  • 下载

Google Guava 官方教程 - v1.1.epub

  • 2017-10-30 18:47
  • 407KB
  • 下载

google guava23.5

  • 2018-01-02 17:01
  • 7.83MB
  • 下载

Google开源Guava包让使用Java语言变得更舒适

  • 2014-07-02 14:03
  • 1.90MB
  • 下载

google Guava集合工具类(超实用)

  • 2017-11-30 17:11
  • 4KB
  • 下载

Getting Started with Google Guava code

  • 2014-11-07 08:44
  • 1.40MB
  • 下载
    个人资料
    • 访问:812706次
    • 积分:11850
    • 等级:
    • 排名:第1471名
    • 原创:257篇
    • 转载:85篇
    • 译文:11篇
    • 评论:892条
    博主的 GitHub 账号
    GitHub : Charies Gavin

        鉴于 CSDN 糟糕的用户体验,博主会将一些优质的文章迁移到 Charies Gavin's Blog  欢迎大家在 GitHub 上 Follow 博主,以及 Fork、Star、Watch 博主的项目。


      青春不老 奋斗不止


      好学若饥虚心若愚
    博客专栏