Google Guava工具集

在这里插入图片描述
一、Optional

public void test() {
        // 创建空对象
        Optional<Object> empty = Optional.empty();

        // 使用非null创建对象
        Optional<String> roger = Optional.of("roger");

        // 使用任意值创建对象
        Optional<Object> optional = Optional.ofNullable(null);

        // 判断是否引用缺失的方法(建议不直接使用)
        boolean present = optional.isPresent();

        // 当optional引用存在时执行
        optional.ifPresent(System.out::println);

        Object orElse = optional.orElse("引用缺失");

        optional.orElseGet(() -> {
            return "自定义引用缺失";
        });

        Object orElseThrow = optional.orElseThrow(() -> {
            throw new RuntimeException("返回一个异常!");
        });
    }

    public static void stream(List<String> list) {
//        list.stream().forEach(System.out::println);
        Optional.ofNullable(list)
                .map(List::stream) 
                .orElseGet(Stream::empty)
                .forEach(System.out::println);
    }

    public static void main(String[] args) {
        stream(null);
    }

二、不可变对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

		ImmutableSet.copyOf();
        ImmutableSet.of();
        ImmutableSet.builder().add();

三、新集合类型
在这里插入图片描述
Multiset

// 一段文字中字数 multiset = list + set
    private static final String text =
            "南陵别儿童入京" +
            "白酒新熟山中归,黄鸡啄黍秋正肥。" +
            "呼童烹鸡酌白酒,儿女嬉笑牵人衣。" +
            "高歌取醉欲自慰,起舞落日争光辉。" +
            "游说万乘苦不早,著鞭跨马涉远道。" +
            "会稽愚妇轻买臣,余亦辞家西入秦。" +
            "仰天大笑出门去,我辈岂是蓬蒿人。";

    public void handle() {
        Multiset<Character> multiset = HashMultiset.create();
        char[] chars = text.toCharArray();
        Chars.asList(chars)
                .stream()
                .forEach(charItem -> {
                    multiset.add(charItem);
                });

        System.out.println("size : " + multiset.size());
        System.out.println("人 count : " + multiset.count('人'));
    }

四、集合工具类

Sets
并集 、交集、差集、分解集合中所有子集、两个集合笛卡尔积
Lists
反转、拆分

五、IO
source 源
sink 汇

发布了83 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38885024/article/details/103895238