JAVA强大的集合工具类谷歌Guava之Lists、Maps、Sets


JAVA强大的集合工具类谷歌Guava之Lists、Maps、Sets

Guava简介:

Guava是一组核心库,其中包括新的集合类型(如multimap和multiset)、不可变集合、图形库和用于并发、I/O、散列、原语、字符串等的实用程序!


将Guava添加到项目中:

Guava提供了两种不同的“风味”:一种用于(Java 8+)JRE,另一种用于Android或Java 7,或与任何一种兼容的库。这些口味在Maven版本字段中指定为28.2-jre或28.2-android。


使用Maven添加对Guava的依赖关系,使用以下命令:

<code><dependency>
<groupid>com.google.guava/<groupid>
<artifactid>guava/<artifactid>
<version>28.2-jre/<version>


/<dependency>/<code>

功能概述

  • Guava提供了能够推断范型的静态工厂方法
<code>List<user> list = Lists.newArrayList();

Map map = Maps.newHashMap();

Set<user> set = Sets.newHashSet();/<user>
/<user>/<code>
  • 可以方便地在初始化时就指定起始元素
<code>List<string> theseElements = Lists.newArrayList("a", "b", "c");

Set<string> set = Sets.newHashSet(theseElements);/<string>/<string>/<code>
  • 可以初始化集合大小


<code>//两种对List的初始化大小,对于Java 7及更高版本,谷歌建议直接用new ArrayList(10)指定大小
//Guava提供的两个方法将要废弃。

//扩容方式是: 5L + x + x/10 = 16L(x = 10),在17的时候扩容
List<user> listCapcity = Lists.newArrayListWithCapacity(10);
//创建一个ArrayList实例来保存estimatedSize元素,
List<user> listExpected = Lists.newArrayListWithExpectedSize(10);


//扩容方式是:(int) ((float) 3 / 0.75F + 1.0F);
Set<user> setExpected = Sets.newHashSetWithExpectedSize(3);
/<user>/<user>/<user>/<code>


分享到:


相關文章: