Google guava工具类中Lists、Maps、Sets简单使用

Google guava

Guava是对Java API的补充,对Java开发中常用功能进行更优雅的实现,使得编码更加轻松,代码容易理解。Guava使用了多种设计模式,同时经过了很多测试,得到了越来越多开发团队的青睐。Java最新版本的API采纳了Guava的部分功能,但依旧无法替代。

特点

  • 高效设计良好的API,被Google的开发者设计,实现和使用
  • 遵循高效的java语法实践
  • 使代码更刻度,简洁,简单
  • 节约时间,资源,提高生产力  Guava工程包含了若干被Google的 Java项目广泛依赖的核心库

核心库例如:

  • 集合 [collections]
  • 缓存 [caching]
  • 原生类型支持 [primitives support]
  • 并发库 [concurrency libraries]
  • 通用注解 [common annotations]
  • 字符串处理 [string processing]
  • I/O 等等。

        github地址

https://github.com/google/guavaicon-default.png?t=M0H8https://github.com/google/guava

使用

        依赖引入

    <dependencies>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>28.1-jre</version>
        </dependency>
    </dependencies>

 Guava 集合工具类

Lists

        官网文档:

Lists (Guava: Google Core Libraries for Java 27.0.1-jre API)icon-default.png?t=M0H8https://guava.dev/releases/27.0.1-jre/api/docs/com/google/common/collect/Lists.html对应于List集合接口, 在com.google.common.collect包下

 Lists 接口的声明如下:

@GwtCompatible(emulated=true)
public final class Lists
    extends Object

 Lists 类主要提供了对List类的子类构造以及操作的静态方法。在Lists类中支持构造 ArrayListLinkedList 以及 newCopyOnWriteArrayList 对象的方法。其中提供了以下构造ArrayList的函数:下面四个构造一个 ArrayList 对象,但是不显式的给出申请空间的大小:

newArrayList()
newArrayList(E... elements)
newArrayList(Iterable<? extends E> elements)
newArrayList(Iterator<? extends E> elements)

 测试

        ArrayList<Object> objects = Lists.newArrayList();
        objects.add("张三");
        objects.add(20);
        System.out.println("--- newArrayList test ---");
        System.out.println(objects);
        System.out.println("--- newArrayList test ---");
        ArrayList<Object> objects1 = Lists.newArrayList(objects);
        System.out.println(objects1);
        System.out.println("--- newArrayList test ---");
        ArrayList<String> strings = Lists.newArrayList("张三", "北京市海淀区");
        System.out.println(strings);

以下两个函数在构造 ArrayList 对象的时候给出了需要分配空间的大小:

newArrayListWithCapacity(int initialArraySize)
newArrayListWithExpectedSize(int estimatedSize)
        //如果你事先知道元素的个数,可以用 newArrayListWithCapacity 函数;如果你不能确定元素的个数,可以用newArrayListWithExpectedSize函数
        //这个方法就是直接返回一个10的数组。
        ArrayList<Object> objects = Lists.newArrayListWithCapacity(10);
        objects.add("123");
        System.out.println(objects);
        ArrayList<Object> objects1 = Lists.newArrayListWithExpectedSize(10);
        objects1.add("123");
        System.out.println(objects1);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像向日葵一样~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值