首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Guava Collect
】的更多相关文章
Guava Collect
Guava是什么 进入新公司就会接触一些新的东东,Guava就是一个,Guava是Google的一个开源类库,丰富了JDK的API,并且使用起来非常方便,本文介绍的是Guava collect包下的一些经常使用工具类. 项目主页:https://code.google.com/p/guava-libraries/ 源代码下载(GIT):git clone https://code.google.com/p/guava-libraries/ Maven依赖: <groupId>com.googl…
Guava 3: 集合Collections
一.引子 Guava 对JDK集合的拓展,是最成熟且最受欢迎的部分.本文属于Guava的核心,需要仔细看. 二.Guava 集合 2.1 Immutable Collections不可变集合 1.作用 用不变的集合进行防御性编程和性能提升. 2.简单使用 package guava.collect; import com.google.common.collect.ImmutableSet; /** * @author denny * @Description 不可变集合 * @date 201…
kafka+storm+hbase
kafka+storm+hbase实现计算WordCount. (1)表名:wc (2)列族:result (3)RowKey:word (4)Field:count 1.解决: (1)第一步:首先准备kafka.storm和hbase相关jar包.依赖如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu…
spark机器学习从0到1基本的统计工具之(三)
给定一个数据集,数据分析师一般会先观察一下数据集的基本情况,称之为汇总统计或者概要性统计.一般的概要性统计用于概括一系列观测值,包括位置或集中趋势(比如算术平均值.中位数.众数和四分位均值),展型(比如四分位间距.绝对偏差和绝对距离偏差.各阶矩等),统计离差,分布的形状,依赖性等.除此之外,spark.mllib库也提供了一些其他的基本的统计分析工具,包括相关性.分层抽样.假设检验,随机数生成等. 一.概括统计 summary statistics 我们通过统计学中提供的函数colStats…
Guava学习笔记(4):Ordering犀利的比较器
转自:http://www.cnblogs.com/peida/p/Guava_Ordering.html Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较.排序等操作中. 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例.Ordering只是需要依赖于一个比较器(例如,Collections.max)的方…
Guava学习笔记(3):复写的Object常用方法
转自:http://www.cnblogs.com/peida/p/Guava_Objects.html 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式.下面我们来看看Guava中这几个方法简单使用. equals方法: equals是一个经常需要覆写的方法, 可以查看Object的equals方…
Guava学习笔记:Google Guava 类库简介
http://www.cnblogs.com/peida/tag/Guava/ Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦.下面我们就开启优雅Java…
使用Guava提供的filter过滤集合
正常情况下,我们声明一个List需要如下代码 List<String> list = new ArrayList<>(); list.add("AAA"); list.add("BBB"); list.add("CCC"); 使用Google Guava提供的Lists类声明就方便很多,代码如下 package com.google.common.collect; //导入jar包 List<String> l…
Guava学习笔记:Guava新集合-Table等
Table 当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map<FirstName, Map<LastName, Person>>来实现.为此Guava提供了一个新的集合类型-Table集合类型,来支持这种数据结构的使用场景.Table支持“row”和“column”,而且提供多种视图. @Test public void TableTest(){ Table<String, Integer, String> aTable = HashBased…
Guava学习笔记:Ordering犀利的比较器
Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较.排序等操作中. 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例.Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法.另外,Ordering提供了链式方法调用和加强现有的比较器. 下面我们看看Orde…
Guava学习笔记:复写的Object常用方法
在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式.下面我们来看看Guava中这几个方法简单使用. equals方法: equals是一个经常需要覆写的方法, 可以查看Object的equals方法注释, 对equals有几个性质的要求: 1. 自反性reflexive:任何非空引用x,x.equal…
Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterables, Lists, Sets, Maps, Multimaps中用到. Predicate最基本的用法就是对Collection进行过滤,guava中很多集合的filter方法都是用Predicate来实现过滤的. Collection type Filter method Iterable It…
[Google Guava]学习--新集合类型Multiset
Guava提供了一个新集合类型Multiset,它可以多次添加相等的元素,且和元素顺序无关.Multiset继承于JDK的Cllection接口,而不是Set接口. Multiset主要方法介绍: add(E element) :向其中添加单个元素 add(E element,int occurrences) : 向其中添加指定个数的元素 count(Object element) : 返回给定参数元素的个数 remove(E element) : 移除一个元素,其count值 会响应减少 re…
Guava集合-BiMap
在本篇文章中我们将介绍Guava集合中的BiMap这个接口. com.google.common.collect Interface BiMap<K,V> BiMap接口的父接口是Map<K,V>. 而BiMap接口的实现类有:EnumBiMap, EnumHashBiMap, HashBiMap, ImmutableBiMap这四个. 我们可以通过源码可以看到BiMap接口的定义为: @GwtCompatible public interface BiMap<K,V>…
Guava 集合框架
在本系列中我们首先来学习一些Guava的集合框架,也就是这个package:com.google.common.collect 在这个包下面有一些通用的集合接口和一些相关的类. 集合类型: BiMap 它是java.util.Map接口的一个扩展,它的特性就是它的key和value都是唯一的并且是一一对应的.也就是说"可逆".简单的描述就是根据key能拿到唯一的value,根据value也能够拿到唯一的key. Multiset 它是Collection的扩展,就如同…
使用 Google Guava 美化你的 Java 代码
文章转载自:http://my.oschina.net/leejun2005/blog/172328 目录:[ - ] 1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMPORTS 编写漂亮代码 1.Google Collections一览 2.操作lists和maps 3.静态导入和Eclipse模板 4.Guava走马观花 2-深入探索 GOOGLE GUAVA 库 1.The Guava CharMatcher 2.Joiner and Splitter 3.W…
guava学习--集合2&Range
转载:http://www.cnblogs.com/peida/p/Guava_ImmutableCollections.html Table: 当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map<FirstName, Map<LastName, Person>>来实现.为此Guava提供了一个新的集合类型-Table集合类型,来支持这种数据结构的使用场景.Table支持"row"和"column",而且提供多种视图.…
java11 Guava:谷歌开发的集合库
Guava:谷歌开发的集合库,通过build path->Add External JARs 把guava.jar包加进去. 版本控制工具:.CVS .SVN .git 所以需要下载git客户端. import com.google.common.collect.ImmutableList; /** * 只读设置 */ public class Demo01 { public static void main(String[] args) { List<String> list =new…
Guava的一些总结
guava是java API蛋糕上的冰激凌(精华). 源码包的简单说明: com.google.common.annotations:普通注解类型. com.google.common.base:基本工具类库和接口. com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存. com.google.common.collect:带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合. com.google.common.eventbu…
java.lang.NoSuchMethodError: com.google.common.collect.Maps.newConcurrentMap()Ljava/util/concurrent/ConcurrentMap;
在storm启动topo的时候,报错: java.lang.NoSuchMethodError: com.google.common.collect.Maps.newConcurrentMap()Ljava/util/concurrent/ConcurrentMap; 原本代码中使用的下面两个jar包google-collections-1.0.jar guava-18.0.jar 解决办法删除google-collections-1.0.jarguava-18.0.jar替换成guava-…
Guava API学习之Multimap
相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知 道,Map中存储的Key是唯一的.什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的 value将会被后来的值替换掉.如果我们需要用Map来把相同key的值存在一起,代码看起来像下面一样: @Test public void test1(){ List<Person> personList = n…
[置顶] Guava学习之Iterators
Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法.除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable方法对应. 性能说明:除非特别说明,所有在这个类中的迭代器都是懒惰的,这意味着在觉得必要的时候,需要提前得到迭代功能.Iterators类可以通过emptyIterator()方法得到一个空的并且不可改变的List迭代器(EMPTY_LIST_ITERATOR):如下: UnmodifiableLi…
[置顶] Guava学习之Immutable集合
Immutable中文意思就是不可变.那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比).尤其当一个对象是值对象时,更应该考虑采用Immutable方式: 被不可信的类库使用时会很安全: 如果一个对象不需要支持修改操作(mutation),将会节省空间和时间的开销:经过分析,所有不可变的集合实现都比可变集合更加有效地利用内存: 可以当作一个常量来对待,并且这个对象在以后也不会被改变. 将一个对象复…
[置顶] Guava学习之Multimap
相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的.什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉.如果我们需要用Map来把相同key的值存在一起,代码看起来像下面一样: /** * */ package com.wyp.Map; /** *@User: 过往记忆 *@Date: 2013-…
Google的Guava它Collection升华
至于Guava这是不是在这里说.一个已被提上一个非常特殊的! 这主要是为了分享Guava对于一些升华处理组.井,不多说了,直接在代码: package com.joyce.guava.bean; /** * 学生实体类 * * @author Joyce.Luo * @date 2014-6-19 下午02:37:19 */ public class Student { /** * 学号 */ private Integer stuId; /** * 姓名 */ private String s…
Guava之简介
1.介绍 Guava最初是在2007年作为“Google Collection Library” 出现的,这个项目在处理Java集合时提供了一些有用的工具,Google的这个guava项目已经成为了java开发人员已经必需的工具包了.这里面含有处理字符串.稽核.并发.I/O和反射的类,Function 接口让我们能够在java中进行函数式编程而且能够简化我们的代码.Supplier接口能够在创建式模式(creational patterns)中起到作用.但是Guava并不仅仅是抽象出了java…
基本Guava工具
使用Joiner类 将任意字符串通过分隔符进行连接到一起是大多程序员经常做的事情.他们经常使用array,list,iterable并且循环变量将每一个临时变量添加到StringBuilder当中去,并且中间添加分隔符.这些笨重的处理方式如下: public String buildString(List<String> stringList, String delimiter){ StringBuilder builder = new StringBuilder(); for (Stri…
Ordering是Guava
Guava学习笔记:Ordering犀利的比较器 Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较.排序等操作中. 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例.Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法.另外,Ordering提供了…
Guava 教程1-使用 Google Collections,Guava,static imports 编写漂亮代码
原文出处: oschina (API:http://ifeve.com/category/framework/guava-2/ JAR DOC Source 链接:http://pan.baidu.com/s/1dDdEFZj 密码:cqfe ) 这个夏天的早些时候,我已经极力向我的所有同事推荐了 Google Collections . Kevin Bourrillion说他的一个同事告诉他"没有使用Google Collections前编程就像把一只手绑在背后". 我灰常同意Kev…
Guava 教程(3):Java 的函数式编程,通过 Google Collections 过滤和调用
原文出处: oschina 在本系列博客的第一.二部分,我介绍了非常优秀的Google Collections和Guava包.本篇博客中我们来看看如何使用Google Collections来做到过滤和排序功能.此外,我会带你看看Google Collections是如何使Java有一点点"functional(方法化)"的进步了. Functions, Functions, Functions!! Google Collections给我们带来了一对非常优雅的东东,叫做:Functi…