最新文章列表

Guava Collections API学习之Bimap

            在前面的《Guaval Collections API学习之Multimap》文章中我们谈到了Guava类库中的Multimap,其特点是存在在Multimap中的键值对可以不唯一;而我们又知道,在Java集合类库中有个Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要 ...
sungang_1120 评论(0) 有746人浏览 2014-02-26 09:29

Guava Collections API学习之HashBiMap

        HashBiMap存储的键和值都只能唯一,不存在键与键、值与值相同的情况(Guaval  Collections  API学习之BiMap)。HashBiMap类继承了AbstractMap类并实现了BiMap接口,其类继承关系如下图所示:          AbstractMap类实现了Map接口定义的一些方法,而BiMap类定义了其子类需要实现的一些方法,使得所有实 ...
sungang_1120 评论(0) 有641人浏览 2014-02-25 14:25

Guava Collections API学习之AbstractMapBasedMultimap

        AbstractMapBasedMultimap源码分析:AbstractMapBasedMultimap是Multimap接口的基础实现类,实现了Multimap中的绝大部分方法,其中有许多的方法还是靠实现类的具体实现,比如size()方法,其计算方法在不同实现是不一样的。同时,AbstractMapBasedMultimap类也定义了自己的一些方法,比如createColl ...
sungang_1120 评论(0) 有730人浏览 2014-02-25 14:25

Guava Collections API学习之ArrayListMultimap

  ArrayListMultimap类的继承关系如下图所示:       ListMultimap是一个接口,继承自Multimap接口。ListMultimap接口为所有继实现自ListMultimap的子类定义了一些共有的方法签名。ListMultimap接口并没有定义自己特有的方法签名,里面所有的方法都是重写了Multimap接口中的声明,只是将Multimap接口中返回Col ...
sungang_1120 评论(0) 有691人浏览 2014-02-25 14:25

Guava Collections API学习之Lists

         Lists类主要提供了对List类的子类构造以及操作的静态方法。在Lists类中支持构造ArrayList、LinkedList以及newCopyOnWriteArrayList对象的方法。其中提供了以下构造ArrayList的函数:下面四个构造一个ArrayList对象,但是不显式的给出申请空间的大小:   newArrayList() newArrayList(E. ...
sungang_1120 评论(0) 有914人浏览 2014-02-25 14:24

Guava Collections API学习之Multimap

        相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉。如果我们需要用Map来把相同key的值存在一起,代码看起来像下面一 ...
sungang_1120 评论(0) 有816人浏览 2014-02-24 09:36

Guava API学习之Preconditions优雅的检验参数

        在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去。对于可预知的一些数据上的错误,我们一定要做 事前检测和判断,来避免程序流程出错,而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。在平常情况下我们对参数的判断都需 要自己来逐个写方法判断,代码量不少并且复用性不高,如下所示: public s ...
sungang_1120 评论(0) 有705人浏览 2014-02-24 09:35

Guava API学习之Ordering犀利的比较器

          Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。   本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collect ...
sungang_1120 评论(0) 有1019人浏览 2014-02-24 09:35

Guava API学习之Optional 判断对象是否为null

  java.lang.NullPointerException,只要敢自称Java程序员,那对这个异常就再熟悉不过了。为了防止抛出这个异常,我们经常会写出这样的代码: Person person = people.find("John Smith"); if (person != null) { person.doSomething(); }    在Jav ...
sungang_1120 评论(0) 有3670人浏览 2014-02-20 15:33

google guava的splitter用法

  google的guava库是个很不错的工具库,这次来学习其spliiter的用法,它是一个专门用来 分隔字符串的工具类,其中有四种用法,分别来小结   1 基本用法:   String str = "a,,b, c,,,d"; Iterable<String> iterable = Splitter.on(',').split(str); ...
sungang_1120 评论(0) 有1907人浏览 2014-02-20 14:59

guava 15新特性介绍

  原文:http://www.javacodegeeks.com/2013/10/guava-15-new-features.html Guava 是众所周知的google出品的开源工具包,十分好用,本月退出了version 15的版本,其中主要的几个新特性有:   1 Escapers字符转义器: HtmlEscapers XmlEscapers UrlEscapers    ...
sungang_1120 评论(0) 有1675人浏览 2014-02-20 14:47

关注google的guava工具包Map集合

  google的guava工具包的确很多好东西,包括之前的字符串处理工具类的,还有大量的collection相关的,项目地址在:http://code.google.com/p/guava-libraries/ 留意到其中的collection相关类中的map,简单介绍如下,更多的请大家补充挖掘或者 看原来的文档:   guava提供的是多值map!,就是说,一个key,可以对应多个va ...
sungang_1120 评论(0) 有1547人浏览 2014-02-20 14:26

google的guava工具类splitter和apache stringutil对比

            一直用的是apache的stringutil工具类,其实google的工具类项目 guava中居然也有字符串的分隔类splitter的,在 http://code.google.com/p/guava-libraries/中可以下载,其中在老外的 http://www.javacodegeeks.com/2012/12/guava-splitter-vs-stringut ...
sungang_1120 评论(0) 有1049人浏览 2014-02-20 14:05

Google Guava 库用法整理

参考: http://codemunchies.com/2009/10/beautiful-code-with-google-collections-guava-and-static-imports-part-1/ (2,3,4) http://blog.publicobject.com 更多用法参考http://ajoo.iteye.com/category/119082 以前这么用: ...
sungang_1120 评论(0) 有863人浏览 2014-02-19 15:15

Google Guava处理null

Google Guava提供了一个简单的处理"null"方式   maven 依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <ver ...
SwordShadow 评论(1) 有8704人浏览 2014-01-08 17:17

java与函数式编程

谈到函数编程语言,不得不谈最近微博大牛吵的比较火热的haskell、lisp等比较纯粹古老的函数语言了,当然java阵营中也有一些函数式编程语言,比如scala\clojure,这两者都有里了解过,这里不得不汗颜了,年前还说需要熟悉两者中一者,中间一段时间到也疯狂学习过,中间还是荒废了,哎,刚有点感觉,个人觉得学习一种新语言,除了一些基本使用的熟悉,最重要的还有思想的转变,能给自己带来另一种编程思 ...
xylong 评论(0) 有754人浏览 2013-12-18 17:59

About guava cannot be deployed in a JEE7 Container

guava 15.0 版本无法部署在glassfish3.1.2.2上,经过查找原因是关于javaEE7 CDI模式开启造成的,在guava issues 1433找到线索。 地址:https://code.google.com/p/guava-librarie ...
newjunwei 评论(0) 有2048人浏览 2013-12-11 12:06

深入理解EventBus的设计思想

凌弃同学已经介绍了EventBus的使用方式 ​如何使用——三步走: ​1、定义一个observer,并加入@Subscribe作为消息回调函数; 2、将observer注册到EventBus;EventBus.register(this); ​3、消息投递: eventBus.post(logTo); 本文将深入EventBus的源代码,和大家一起深入研究EventBus的让人 ...
beneo 评论(1) 有2924人浏览 2013-12-03 10:08

使用guava带来的方便

    ​    ​guava是在原先google-collection 的基础上发展过来的,是一个比较优秀的外部开源包,最近项目中使用的比较多,列举一些点。刚刚接触就被guava吸引了。。。     ​    ​这个是guava的一个官网ppt里面的介绍:
iamzhongyong 评论(2) 有18262人浏览 2013-11-27 00:23

guava第一篇

guava号称神器,是google工程师门为首启动的一个开源项目,目前放在guava-libraries中,代码设计与规范方面自是不可言语,还有很多其他方面的优点,维护性好,比较稳定等。   1、guava体现了函数式不可变的特性,比如ImmutableList,ImmutableMap,ImmutableSortedSet,ImmutableSortedMap     未完,待续,赶班 ...
xylong 评论(0) 有836人浏览 2013-11-06 20:16

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics