`

[转载] 使用Google Collections, Guava, and Static Imports来简化你的Java代码

阅读更多
原文: http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/

Java程序员经常会有这样的抱怨:在Java里,一些常见的功能却需要大段的代码去实现。有些人试图去寻找一种更简洁的、能够作为替代品的其它JVM语言,另外一些人却在致力于从API层扩展现有的各种Java特性来解决Java的繁冗的问题。

最近有两个以扩展API为途径的范例项目,它们是Google的Collections 和 Guava 类库。不久前的一篇博客,“ 使用 Google Collections, Guava and Static Imports 美化你的代码(英文) ”里,Aleksander Stensby 列举了这些类库是如何让Java编程更有效率的:

Guava目前还是个很不成熟的类库,在未来的几个月里它将会有很多的改动 …  Google Collections一旦发布了它的1.0版本就会并入Guava、成为Guava的一部分。Guava(和Google Collections)是由几个Google开发人员创建的,这个类库将会广泛的使用在他们的“无数的Java项目 … ”里。
使用Guava里的Collections,你将受益不菲。它能大量减少你工程里那些样本式的代码 (同时你还能使用它提供的新的速度更快的数据结构!).

作为一个例子,Stensby展示里如何使用Google Collections来创建collection实例:
Map<String, Map<Long, List<String>>> map =
                           new HashMap<String, Map<Long,List<String>>>();

Map<String, Map<Long, List<String>>> map = Maps.newHashMap();

Map<String, Map<Long, List<String>>> map = newHashMap();


真是非常的感谢泛型技术和这些Collections工具提供的轻巧的构建方法,我们不再需要去写那些Java实际已经知道的东西,不是吗?… 我知道这些用法将会在JDK7里出现,这是个好消息。但Google Collections现在就实现了这些 …

.跟 com.google.common.collect.Maps 里提供的这些静态方法类似,我们还可以使用 Lists和Sets …
Lists.newArrayList();
Sets.newHashSet();


Stensby 还演示了如何给这些collection初始化值:
 ImmutableList<String> of = ImmutableList.of("a", "b", "c", "d");

ImmutableMap<String,String> map =
                ImmutableMap.of("key1", "value1", "key2", "value2");



除了能轻巧简洁的创建collections、操作collections之外,它还提供了大量的其他有用的方法,例如过滤、set 切片和联合、排序以及一些纯功能性的东西!

在博客的第二部分里,Stensby的介绍转向了Guava类库:

Guava对Java核心类库进行了广泛的扩展。其中包括我们可以通过 com.google.common.primitives 包里的 Ints, Doubles, Floats, Shorts, Bytes and Bools 类对基本数据类型进行各种操作。 在 com.google.common.io 这个包里提供了操作 streams, buffers, files 等等的工具,在concurrent 包里提供了一些Futures,
Callables and Executors 之类的类,它们能帮我们免去写并发程序代码的痛苦。除了这些,Guava 还提供了一些Collections处理的其它方法,还有一个十分简洁的 CharMatcher 类, Joiner 和 Splitter
类。

你对以Google’s Collections 和 Guava 类库作为工具来减少模板式Java代码有什么想法?
分享到:
评论

相关推荐

    Google-Guava-Collections-使用介绍

    ### Google Guava Collections 使用介绍 #### 一、概述 Google Guava Collections 是 Java Collections Framework 的一个强大且实用的非官方扩展 API。它由 Google 工程师 Kevin Bourrillion 和 Jared Levy 在著名...

    Google_Guava_Collections_使用介绍.pdf )

    ### Google Guava Collections 使用介绍 #### 一、Google Guava Collections 概览 Google Guava Collections,简称Guava Collections,是对Java Collections Framework进行增强和扩展的开源项目。它由Google工程师...

    Google的guava实战

    Google的Guava是Java开发中一个非常强大的工具库,它由Google工程师开发并维护,提供了一套丰富的Java实用工具集合。Guava的目的是为了简化Java编程,减少代码冗余和提升代码质量。Guava中包含的工具种类繁多,涵盖...

    Google中的Guava源码

    Guava is a set of core Java libraries from Google that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, ...

    Guava-18.0是一个功能强大的Java库,用于简化Java编程和提高代码质量

    Guava-18.0是一个功能强大的Java库,主要用于简化Java编程和提高代码质量。通过使用Guava-18.0提供的各种实用工具和功能,开发人员可以更快速地编写可靠、可维护的代码,并减少错误和漏洞的出现。Guava-18.0适用于...

    Google的Guava工具包

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...

    Android代码-guava

    Guava: Google Core Libraries for Java Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, ...

    Java Generics and Collections (Java泛型与集合)

    通过阅读"Java Generics and Collections",开发者不仅可以掌握Java泛型和集合的基本使用,还能深入了解它们的高级特性和最佳实践,从而在实际项目中编写出更高质量的代码。这本书对于Java程序员来说是一份宝贵的...

    guava(google的java集合包)

    Guava是Google为Java平台设计的一个开源库,它极大地扩展了Java的标准库,尤其是在集合、缓存、并发和I/O等方面。Guava的核心特性包括: 1. **集合框架增强**:Guava提供了丰富的集合类,如Multiset(多集)、...

    guava-19.0 jar和sources

    Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,极大地丰富了标准库的功能。在Java开发中,Guava库被广泛使用,因为它包含了大量的集合框架、并发支持、缓存机制、字符串处理、I/O操作等多个...

    Google Guava 30.1.1常用类介绍及实践代码

    **Google Guava 30.1.1常用类介绍及实践代码** Google Guava 是一个由 Google 开发的 Java 库,它提供了许多基础工具,包括集合、缓存、原生类型支持、并发库、字符串处理、I/O 等等。在版本 30.1.1 中,Guava 继续...

    guava_programming.zip

    总的来说,Google Guava库为Java开发者提供了许多实用工具,如函数式接口和EventBus,它们可以帮助我们编写出更简洁、更健壮的代码。理解和掌握这些特性,将有助于提升我们的编程技能,提高开发效率。

    Guava教程1使用GoogleCollections,G

    这个Guava教程将帮助你理解如何使用Google Collections来编写更高效、更简洁的Java代码。 1. **引入Guava库** 在项目中使用Guava,首先需要添加Guava的依赖。如果你使用的是Maven,可以在pom.xml文件中添加如下...

    Guava常用类库 v33.0.0.zip

    Guava是Google开发的一个Java库,它包含许多Google核心库中的高级集合、缓存、原生类型支持、并发包、字符串处理、I/O等工具类。版本33.0.0是Guava的一个更新,提供了最新的功能改进和错误修复。在深入探讨Guava常用...

    Getting Started with Google Guava code

    **Google Guava简介** Google Guava 是一个广泛使用的开源库,为Java开发人员提供了一系列实用工具类和集合框架。...通过以上步骤,你将能够熟练地在自己的 Java 项目中运用 Google Guava,提高代码质量和效率。

Global site tag (gtag.js) - Google Analytics