Google Guava14.0宝藏之--ImmutableMap

Guava是Google提供的Java库,它扩展了标准库,提供了丰富的数据结构和实用工具,如不可变映射。通过链式编程,代码变得更加简洁和易读。在并发场景下,不可变集合确保线程安全并提高性能。此外,它们也被用于防御性编程,防止意外修改。使用Guava可以创建高效且安全的代码。
摘要由CSDN通过智能技术生成

Guava 是java api的增强与扩展,提供复杂的java 数据结构,使你的代码更简短精炼,具有良好的可读性。

正确引入依赖,网上好多依赖版本都是屁屁,都不可以用。

<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>14.0-rc2</version>
</dependency>

可以链式编程的Map

最开始对他感兴趣是因为他可以链式编程,显得很酷,根据代码提示写起来也很块,所以,进一步了解他。

public static Map<String, String> INTERFACE_NAME = ImmutableMap.<String, String>builder()
            .put("/ctat", "区县统计")
            .put("/scl/stat", "区县生数据统计")
            .put("/custom/stat", "区县自定表生数据统计")
            .put("/fotion/answer", "入政询")
            .put("/ticist", "入格")
            .build()
            ;

不可变的Map

为什么需要不可变的集合呢?

(1)保证线程安全:在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比)。尤其当一个对象是值对象时,更应该考虑采用Immutable方式;
(2)被不可信的类库使用时会很安全;
(3)如果一个对象不需要支持修改操作(mutation),将会节省空间和时间的开销;经过分析,所有不可变的集合实现都比可变集合更加有效地利用内存;
(4)可以当作一个常量来对待,并且这个对象在以后也不会被改变。
将一个对象复制一份成immutable的,是一个防御性编程技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

only-qi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值