java中的map用法,java guava map_使用googled的guava常見ImmutableMap、Multimap、Sets、Optional、

 2023-10-06 阅读 34 评论 0

摘要:一、前言關于google的guava-19.0.jar開源包中非空檢查Preconditions.checkArgument、Objects.toStringHelper對象轉換為字符串toString、字符轉鏈接(Joiner 類)、字符串分隔符Splitter、不可變的集合(Immutable)、一個key對應多個Valve的情況Multimap、集合并集Sets.union、交

一、前言

關于google的guava-19.0.jar開源包中非空檢查Preconditions.checkArgument、Objects.toStringHelper對象轉換為字符串toString、字符轉鏈接(Joiner 類)、字符串分隔符Splitter、不可變的集合(Immutable)、一個key對應多個Valve的情況Multimap、集合并集Sets.union、交集Sets.difference、補集Sets.intersection,示例用法如下

二、示例說明

java中的map用法,1、非空檢查(多條件校驗),如下空的時候報出java.lang.NullPointerExceptionPreconditions.checkNotNull(null);

控制臺報錯"Exception in thread "main" java.lang.NullPointerException"String?checkValue?=?null;@b@Preconditions.checkArgument(checkValue!=null?&&?!"".equals(checkValue),"input?is?null");

控制臺報錯"Exception in thread "main" java.lang.IllegalArgumentException: input is null"

2、判斷Null - 如下如是空字符串則不會打印結果Optional?name?=?Optional.of("xwood.net");@b@if(name.isPresent()){@b@???System.out.println(name.get());@b@}

effect java,3、Object對象toString字符串轉換package?test;@b@@b@import?com.google.common.base.Objects;@b@@b@public?class?OBJ{@b@@b@private?String?id;@b@private?String?name;@b@@b@@Override@b@????public?String?toString()?{@b@????????return?Objects.toStringHelper(this).add("小木人",?this.name).add("111",?this.id).toString();@b@????}@b@@b@public?static?void?main(String[]?args)?{@b@System.out.println(new?OBJ().toString());@b@}@b@}

4、字符轉鏈接(Joiner類)List?names?=?Lists.newArrayList();@b@names.add("小木人");@b@names.add("xwood.net");@b@StringBuilder?sb?=?new?StringBuilder();@b@String?rs?=?Joiner.on("@").appendTo(sb,?names).toString();@b@System.out.println(rs);

控制臺打印結果小木人@xwood.net

5、字符串分隔符SplitterString?s?=?"xwood.net,www,小木人";@b@for(String?name?:?Splitter.on(",").trimResults().split(s)){@b@?????????????System.out.println(name);@b@}

map Java?控制臺結果xwood.net@b@www@b@小木人

6、不可變的集合(Immutable)ImmutableMap?map?=?ImmutableMap.of(111,"xwood",222,"小木人印象");@b@System.out.println(map.toString());

控制臺結果{111=xwood,?222=小木人印象}

7、一個key對應多個Valve的情況(keyValues)Multimap?keyValues?=?ArrayListMultimap.create();@b@keyValues.put(1,?"a");@b@keyValues.put(1,?"b");@b@keyValues.put(2,?"c");@b@System.out.println(keyValues.toString());

java option。控制臺結果{1=[a,?b],?2=[c]}

8、集合并集union、交集difference、補集intersection的方法HashSet?setA?=?Sets.newHashSet(1,?2,?3,?4,?5);?@b@HashSet?setB?=?Sets.newHashSet(4,?5,?6,?7,?8);?@b@?????????@b@SetView?union?=?Sets.union(setA,?setB);?@b@System.out.println(union);@b@?????????@b@SetView?difference?=?Sets.difference(setA,?setB);?@b@System.out.println(difference);??@b@?????????@b@SetView?intersection?=?Sets.intersection(setA,?setB);?@b@System.out.println(intersection);

控制臺結果[1,?2,?3,?4,?5,?8,?6,?7]@b@[1,?2,?3]@b@[4,?5]

9、基于callback、LoadingCache兩種不同方式緩存方式,查看其它文章頁

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/121082.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息