b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

c multimap 使用 Google Guava 美化你的 Java 代码:1(3)

电脑杂谈  发布时间:2018-02-01 20:07:32  来源:网络整理

可以从这里获得源码:

下次我们会深入Guava 的高级功能,探索一下集合的用法,看看怎样通过Multimap使java的功能更加强大,如何用mapping功能来转换集合。请拭目以待。如果你们也用过Guava或者Google Collections请分享一下你们的心得。

在这个系列的第一部分里,我简单的介绍了非常优秀的Google collections和Guava类库,并简要的解释了作为Java程序员,如果使用Guava库来减少项目中大量的样板代码。c multimap在这篇博文中我们将深入挖掘Guava提供的更高级的特性。 我们将深入挖掘Guava库,并了解一下优雅的CharMatcher类、Joiner以及Splitter类,以及在处理Java基本类型时Guava给我们带来的别的工具类。

CharMatcher 可以非常方便地添加到你的java工具箱中。有些人形容它:“像打了兴奋剂的StringUtils”:p 你可以使用预先设定好的常量,比如CharMatcher.WHITESPACE, CharMatcher.JAVA_DIGIT 或者CharMatcher.ASCII,此外你还有很多简便的工厂方法如CharMatcher.is(‘aaa’), CharMatcher.isNot(‘bbb’), CharMatcher.oneOf(‘abcd’).negate(),甚至更复杂一些比如:

当然你可以继承它然后实现方法 matches(char c)。你可以把 Google Collection中都创造实现一遍(当然下次我们会覆盖到)!

multimaps_c multimap_multimap 删除

如果你想从字符串中得到所有的数字,那么你可以这样:

如果你想把字符串中的数据都去掉,可以如下:

还有好多匹配的方法:

除了indexIn, lastIndexIn and countIn这些方法,还有很多trimming, replacing and collapsing相关的方法。 更多信息查看Java doc.

目前Joiner还是Collections 的一部分,Splitter 已经加入了Guava (不过一旦Collections 发布1.0版本,那么它们会一起加入到Guava)。

可以这么使用Joiner:

或者这样:

得益于Guava对基本型的支持,可以很方便这么处理:

对于字符串,我们可以直接进行分割,但是这样做多少有些奇怪, Splitter 提供了更多的操作,而且更加健壮。字符创分割通常返回的是一个数组而 Splitter 返回的是一个迭代 Iterable。

你可以简单地分割字符串:

但是当需要处理下面这样的字符串时:

输出结果是:

‘foo ‘

‘ what’

‘more'

这样的结果也许还可以,但是Splitter允许我们对分割结果做更多的控制:

得到的结果是 foo’,'what’,'more’

Joiner和Splitter都是可配置的,甚至你可以把Joiner使用在map中。

最后再看个几个例子加深印象吧:

在博客的第一部分,我简单提到了基本型的用法。Guava已经提供了诸如Ints.compare(a, b)和Ints.toArray(list)。

让我介绍Guava 关于基本型提供的更多的一些用法吧。

假如我有一个整型数字数组,我们想知道数组中是否有特定的整型数字。传统的写法如下:

使用Guava,我们可以如下:

同样,其他类型的基本型数组也可以这么来做。我们甚至可以直接对数组做如下的事:

在本系列博客的第一、二部分,我介绍了非常优秀的Google Collections和Guava包。本篇博客中我们来看看如何使用Google Collections来做到过滤和排序功能。此外,我会带你看看Google Collections是如何使Java有一点点“functional(方法化)”的进步了。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-64410-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 张复元
      张复元

      但绝不容忍侵犯主权

    • 李尘
      李尘

      可口可乐公司每年都出新饮料或者收购新晋品牌的

    • 厉玄
      厉玄

      我上班饿了

      • 马高松
        马高松

        去雷军家买是不是也会遇到山寨雷军呢

    热点图片
    拼命载入中...