网站首页 > 精选教程 正文
Google公司针对JAVA开发开源的guava工具被誉为是JAVA里面的瑞士军刀。能简化我们的代码,让我们的代码易写、易读、易于维护。而且它能提高我们的工作效率,让我们从大量重复的底层代码中脱身。由于做过很多高并发的测试,运用在项目中能大大的优化我们大部分的工作,下面说说一些常的方法。
maven项目中引入,根据自己实际的需要引入不同的版本。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0-rc1</version>
</dependency>
集合方面
//对象快速优雅的创建
List<String> list = Lists.newArrayList();
Map<String, String> map = Maps.newLinkedHashMap();
List<String> listTemp= Lists.newArrayList("abc", "cbd");
//强大的数据集合字符串拼接方法
String strTemp = "1-2-3-4";
List<String> list = Splitter.on("-").splitToList(strTemp);
//多线程下的不变安全集合
ImmutableList<String> iList = ImmutableList.of("a", "b")
//map key value 重复和不可重复工具
BiMap<String, String> biMapTemp = HashBiMap.create();
Multimap<String, String> teachersMap = ArrayListMultimap.create();
//集合交集,并集,差集
HashSet setA = newHashSet(1, 2, 3);
HashSet setB = newHashSet(2, 5, 3);
SetView union = Sets.union(setA, setB);
SetView difference = Sets.difference(setA, setB);
SetView intersection = Sets.intersection(setA, setB);
//map 的交集,并集,差集
HashMap<String, Integer> mapA = Maps.newHashMap();
mapA.put("a", 1);mapA.put("b", 2);mapA.put("c", 3);
HashMap<String, Integer> mapB = Maps.newHashMap();
mapB.put("b", 20);mapB.put("c", 3);mapB.put("d", 4);
MapDifference differenceMap = Maps.difference(mapA, mapB);
differenceMap.areEqual();
Map entriesDiffering1 = differenceMap.entriesDiffering();
Map entriesOnlyLeft2 = differenceMap.entriesOnlyOnLeft();
Map entriesOnlyRight3 = differenceMap.entriesOnlyOnRight();
Map entriesInCommon4 = differenceMap.entriesInCommon();
字符串方面
//数组转字符串 Joiner
List<String> stringSrc = Lists.newArrayList("C","Java");
String resultString = Joiner.on(",")
.join(stringSrc);
String resultTemp = Joiner.on("-").join(listTemp);
String resultTemp2 = Joiner.on(",").withKeyValueSeparator("=").join(map);
//增加跳过,替换空方法
skipNulls,useForNull
//强大的字符串拆分方法 Splitter
Splitter.on(',').trimResults().omitEmptyStrings().splitToList("foo,bar,,qux");
//字符匹配器 – CharMatcher
// 创建一个匹配数字字符的CharMatcher
CharMatcher numMatcher = CharMatcher.inRange('0', '9');
// retainFrom保留匹配到的字符(123789)
System.out.println(numMatcher.retainFrom("123abc789"));
String theDigits = CharMatcher.DIGIT.retainFrom(string);//只保留数字
CharMatcher.WHITESPACE.trimAndCollapseFrom(string, ' ');//去除空格
//字符集工StandardCharsets
byte[] byteDis src.getBytes(StandardCharsets.UTF_8);
//字符转换工具类CaseFormat,有全小写,全大写,驼峰
String resultToStr = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "CONSTANT_NAME");
后续将持续增加guava下面对文件操作,缓存,并发等更多的工具介绍.
- 上一篇: Java字符串相关面试题
- 下一篇: 《Java程序设计》课程代码题(一)
猜你喜欢
- 2024-11-18 Python学习(十)字符串的常用操作详解「Ⅱ」
- 2024-11-18 java基础—string,值得java初学者收藏的文章
- 2024-11-18 Java将 PDF 拆分为多个 PDF 文件
- 2024-11-18 「LeetCode」分割回文串 II Java题解
- 2024-11-18 【算法题】1593. 拆分字符串使唯一子字符串的数目最大
- 2024-11-18 《Java程序设计》课程代码题(一)
- 2024-11-18 Java字符串相关面试题
- 2024-11-18 LeetCode笔记|131:分割回文串
- 2024-11-18 Java基础学习之与字符串相关的正则表达式
- 2024-11-18 第6天|Java入门有野,String字符串(超详细)
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)