EvictingQueue
这个是一个非阻塞的队列,当队列长度满了后,自动移除头元素,比如:
EvictingQueue<String> q = EvictingQueue.create(3);
q.add("one");
q.add("two");
q.add("three");
q.add("four");
// the head of the queue is evicted after adding the fourth element
fileTreeTraverser 文件遍历递归利器
这个方法可以快速遍历某个文件目录下的所有文件,比如:
FluentIterable<File> iterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("/var/tmp"));
for (File f : iterable) {
System.out.println(f.getAbsolutePath());
}
其中f.getAbsolutePath()用的是jdk 7中的方法
Google Guava Splitter
Splitter niceCommaSplitter = Splitter.on(',') .omitEmptyString().trimResults(); niceCommaSplitter.split("one,, two, three"); //"one","two","three" niceCommaSplitter.split(" four , five "); //"four","five"
Guava中Joiner的用法:
int[] numbers = { 1, 2, 3, 4, 5 }; String numbersAsStringDirectly = Ints.join(";", numbers);
Guava中Splitter的用法:
String testString = "foo , what,,,more,"; Iterable<String> split = Splitter.on(",").omitEmptyStrings().trimResults().split(testString);
set的交集, 并集, 差集的用法
HashSet setA = newHashSet(1, 2, 3, 4, 5); HashSet setB = newHashSet(4, 5, 6, 7, 8); SetView union = Sets.union(setA, setB); System.out.println("union:"); for (Integer integer : union) System.out.println(integer); SetView difference = Sets.difference(setA, setB); System.out.println("difference:"); for (Integer integer : difference) System.out.println(integer); SetView intersection = Sets.intersection(setA, setB); System.out.println("intersection:"); for (Integer integer : intersection) System.out.println(integer);
针对Map的用法:
MapDifference differenceMap = Maps.difference(mapA, mapB); differenceMap.areEqual(); Map entriesDiffering = differenceMap.entriesDiffering(); Map entriesOnlyOnLeft = differenceMap.entriesOnlyOnLeft(); Map entriesOnlyOnRight = differenceMap.entriesOnlyOnRight(); Map entriesInCommon = differenceMap.entriesInCommon();
验证与条件检查
public PostExample(final String title, final Date date, final String author) { this.title = checkNotNull(title); this.date = checkNotNull(date); this.author = checkNotNull(author); }
针对集合中只有一个元素的情况:
Iterables.getOnlyElement();
这个主要是用来替换Set.iterator.next()或 List.get(0), 而且在测试中使用非常方便, 如果出现0个或者2+则直接抛出异常
ImmutableList.copyOf的用法:
public Directions(Address from, Address to, List<Step> steps) { this.from = from; this.to = to; this.steps = ImmutableList.of(steps); }
equals和hashcode的用法:
public boolean equals(Object o) { if (o instanceof Order) { Order that = (Order)o; return Objects.equal(address, that.address) && Objects.equal(targetArrivalDate, that.targetArrivalDate) && Objects.equal(lineItems, that.lineItems); } else { return false; } } public int hashCode() { return Objects.hashCode(address, targetArrivalDate, lineItems); }
相关推荐
这个官方教程将深入探讨这些关键特性和使用方法。 1. **集合框架增强** Guava 提供了丰富的集合类,如 Multiset(多集)、Multimap(多映射)和 Table(表格)。它们允许开发者处理更复杂的数据结构。例如,...
在IT行业中,Google Guava库是一个非常强大的工具集,它为Java开发人员提供了一系列实用的集合、缓存、并发和I/O工具。本篇文章将详细探讨如何利用Guava库实现定时缓存功能,以提高应用的性能和效率。 首先,Guava...
书中还提到了一些重要的知识点,比如Guava库中提供的各种工具类和方法,以及如何在项目中使用Guava的集合框架来处理常见的数据结构问题,例如使用不可变集合、集合工具类和集合的辅助函数等。此外,书中还可能涉及了...
本教程将深入探讨Guava库中的核心特性和使用方法。 一、集合框架扩展 Guava提供了对Java集合框架的增强,包括新的集合类型如Multiset(多集)、Multimap(多映射)和Immutable集合(不可变集合)。这些集合类型...
谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。...在使用时,只需将此jar包添加到项目的类路径中,即可享受到Guava带来的便利。
赠送jar包:guava-20.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Google Guava 是一个开源库,为Java开发人员提供了一组核心库,包括集合、缓存、并发工具、I/O工具、字符串处理、实用方法等。这个官方教程主要针对Guava库的使用进行详细介绍,帮助开发者更有效地利用Guava来优化...
1. 从官方文档开始,了解每个模块的功能和使用方法。 2. 阅读和分析示例代码,理解 Guava 工具类的用法。 3. 在实际项目中逐步引入 Guava 功能,替换传统代码,感受性能和可读性的提升。 4. 参与社区讨论,解决遇到...
这些内容的介绍使读者能够在阅读的同时掌握Guava库的实际使用方法,从而直接在自己的项目中应用。 此外,书籍中提到了Guava库所遵循的一些最佳实践,比如对于不可变集合的使用和如何利用Guava提供的工具类来处理...
Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法...
在Java编程中,Google Guava库是一个不可或缺的工具集合,它提供了大量的高效、实用的类和方法,极大地提升了开发效率。本次我们将聚焦于Guava中的`Ints`模块,通过分析`com.google.guava_1.6.0.jar.zip`这个压缩包...
《谷歌Guava库详解》 谷歌Guava,全称为Google Guava,是Google推出的一款Java库,它包含一系列基础工具类,旨在简化Java开发工作,提高代码效率和可维护性。Guava的核心特性包括集合框架、缓存、原始类型支持、...
赠送jar包:guava-17.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Google Guava 是一个由Google提供的开源Java库,它包含了许多强大的工具类和集合类,这些类可以帮助开发者更高效地编写Java代码。Guava的目标是提供一种更加简洁、优雅的方式来处理常见的编程任务,并且在很多情况下...
赠送jar包:guava-23.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
谷歌Guava库是一个广泛使用的Java库,它提供了许多核心库的实用工具类,包括集合、缓存、并发、I/O、字符串处理、泛型 utilities、错误处理、网络、数学运算以及类加载器支持等多个方面。Guava的目标是使Java编程...
赠送jar包:guava-18.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
以上只是 Guava 30.1.1 版本中的一部分核心功能,实际使用中还有许多其他实用工具类,如 `Range`, `EventBus`, `RateLimiter` 等。Guava 的设计目标是提高代码质量和效率,通过提供这些工具类,开发者可以更加专注于...
赠送jar包:guava-11.0.2.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,极大地简化了常见的编程任务。在标题和描述中提到的"guava-23.0.zip"是一个包含Guava库版本23.0的压缩文件,而"guava.jar"则是Guava库的JAR文件...