HashBiMap存储的键和值都只能唯一,不存在键与键、值与值相同的情况(详细分析见我博客:Guava学习之BiMap)。HashBiMap类继承了AbstractMap类并实现了BiMap接口,其类继承关系如下图所示:[caption id="attachment_705" align="aligncenter" width="356"] HashBiMap[/caption] AbstractMap类实现了Map接口定义的一些方法,而BiMap类定义了其子类需要实现的 12年前 (2013-09-16) 4439℃ 0评论3喜欢
AbstractMapBasedMultimap源码分析:AbstractMapBasedMultimap是Multimap接口的基础实现类,实现了Multimap中的绝大部分方法,其中有许多的方法还是靠实现类的具体实现,比如size()方法,其计算方法在不同实现是不一样的。同时,AbstractMapBasedMultimap类也定义了自己的一些方法,比如createCollection()。AbstractMapBasedMultimap类中主要存在以下两个成员 12年前 (2013-09-13) 4056℃ 1喜欢
里氏替换法则(Liskov Substitution Principle LSP)是面向对象设计的六大基本原则之一(单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则以及开闭原则)。这里说说里氏替换法则:父类的一个方法返回值是一个类型T,子类相同方法(重载或重写)返回值为S,那么里氏替换法则就要求S必须小于等于T,也就是说要么 12年前 (2013-09-12) 4289℃ 3评论0喜欢
Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法。除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable方法对应。 性能说明:除非特别说明,所有在这个类中的迭代器都是懒惰的,这意味着在觉得必要的时候,需要提前得到迭代功能。Iterators类可以通过emptyIterator()方法得到 12年前 (2013-09-11) 3988℃ 3评论0喜欢
Lists类主要提供了对List类的子类构造以及操作的静态方法。在Lists类中支持构造ArrayList、LinkedList以及newCopyOnWriteArrayList对象的方法。其中提供了以下构造ArrayList的函数:下面四个构造一个ArrayList对象,但是不显式的给出申请空间的大小:[code lang="JAVA"] newArrayList() newArrayList(E... elements) newArrayList(Iterable<? 12年前 (2013-09-10) 19747℃ 2评论8喜欢
Splitter:在Guava官方的解释为:Extracts non-overlapping substrings from an input string, typically by recognizing appearances of a separator sequence. This separator can be specified as a single character, fixed string, regular expression or CharMatcher instance. Or, instead of using a separator at all, a splitter can extract adjacent substrings of a given fixed length. 12年前 (2013-09-09) 7140℃ 1评论0喜欢
这里的方法貌似没有用,请参见本博客最新博文《CentOS 6.4安装谷歌浏览器(Chrome)》可以解决这个问题。 Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的开放原始码网页浏览器。如何在Cent OS里面安装Chrome呢?步骤如下: 第一步:打开终端,输入下面的命令[code lang="JAVA"]vim /etc/yum.repos.d/CentOS-Base.repo 12年前 (2013-08-07) 17774℃ 0评论5喜欢
Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。 大家肯定遇到过想在pom文件中加入自己开发的依赖包,这些包肯定是 12年前 (2013-08-02) 39457℃ 0评论19喜欢
一、过滤器 从过滤器这个名字上可以得知就是在源数据和目标数据之间起到过滤作用的中间组件。例如家里用的纯净水过滤器,将自来水过滤为纯净水。过滤器是在Servlet2.3规范中引入的新功能,并在Servlet2.4规范中得到增强。它是在服务端运行的Web组件程序,可以截取客户端给服务器发的请求,也可以截取服务器给客户端的响应。 12年前 (2013-08-01) 3696℃ 0评论5喜欢
Ubuntu上的输入法主要有Fcitx,Ibus,Scim等开源的输入法框架,支持各种各样的引擎,其中Scim和Ibus是输入法框架。Rime(中州韵输入法引擎)是一种流行的开源跨平台输入法,支持IBus和Fcitx框架。下面介绍一下Ubuntu下怎么安装Fcitx和Ibus输入法。 一、安装Fcitx输入法 Fcitx[ˈfaɪtɪks]是 Free Chinese Input Toy for X 的英文缩写,中文名为 12年前 (2013-07-28) 3901℃ 0评论2喜欢