Guava简介及初体验

Guava是google提供的一个Java第三方库,旨在提供更简洁、优雅的api,让代码更加易读,易写、易用。
先看它的结构图:
这里写图片描述

而其中经常用到的如注解(annotations)、缓存(cache)、集合(collect)、哈希(hash)、io、数学运算(math)、net、原生类型(primitives)、反射(reflect)、并发(concurrent)。


下面将按照我的学习顺序依次介绍Guava.

Collect

Guava为我们提供了许多Java之外的集合以及集合工具类,主要分为四大类:不可变集合、新集合类型、集合工具类、扩展工具类。

  • 不可变集合
        ImmutableList<Integer> immutableList = ImmutableList.of(1, 2, 3, 4);
        ImmutableBiMap<Integer, String> immutableBiMap = ImmutableBiMap.of(1, "1", 2, "2");
        ImmutableSet<Integer> immutableSet = ImmutableSet.of(1, 2, 3, 4);
        ImmutableCollection<Integer> immutableCollection = ImmutableList.of(1, 2, 3, 4);

        for (Integer i : immutableList) {
            System.out.print(i + "-");
        }
        System.out.println();
        for (Integer i : immutableBiMap.keySet()) {
            System.out.print(immutableBiMap.get(i) + "-");
        }
        System.out.println();
        for (Integer i : immutableList) {
            System.out.print(i + "-");
        }
        System.out.println();
        for (Integer i : immutableCollection) {
            System.out.print(i + "-");
        }

运行结果:

1-2-3-4-
1-2-
1-2-3-4-
1-2-3-4-

这里用Lists举例

        ArrayList<Integer> list = Lists.newArrayList(new Integer[]{1,2,3,4});

        List<String> transform = Lists.transform(list, new Function<Integer, String>() {
            @Override
            public String apply(Integer integer) {
                return integer + "";
            }
        });

        List<Integer> reverseList = Lists.reverse(list);
        for (Object o : transform) {
            System.out.println(o.getClass().toString() + o);
        }
        for (Object o : reverseList) {
            System.out.println(o);
        }

运行结果:

class java.lang.String1
class java.lang.String2
class java.lang.String3
class java.lang.String4
4
3
2
1

一起学习交流呀
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值