BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。通常情况下,我们在使用Java的Map时,往往是通过key来查找value的,但是如果我们想根据value值查找key时,我们就需要额外编写一些代码来实现这个功能。BiMap为我们实现了这个功能。 @Test public void test1(){ BiMap<String,String>

Guava   源码  

1. 简介 Iterables类包含了一系列的静态方法,来操作或返回Iterable对象。 除非另外说明,每一个Iterables方法都会有一个Iterators的方法。 2. 源码分析 2.1 构造器 Iterables类只提供了私有构造器,因此只能通过静态方法来使用Iterables类。 public final class Iterables { private Iterables()

Guava   源码  

它的作用是收集可以关闭的资源并在合适的时候关闭它们。 如下使用: Closer closer = Closer.create(); try { InputStream in = closer.register(openInputStream()); OutputStream out = closer.register(openOutputStream()); // do s

Guava   源码  

不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。 1. UnmodifiableXXX JDK提供了UnmodifiableXXX(Collections.unmodifiable)用于生成不可变容器。不可变容器无法修改返回容器的内容。但是这里值的是无法通过set或add方法修改容器内的reference的指向,而不是禁止referen

Guava   源码  

有时候,你会想把捕获到的异常再次抛出。这种情况通常发生在Error或RuntimeException被捕获的时候,你没想捕获它们,但是声明捕获Throwable和Exception的时候,也包括了了Error或RuntimeException。Guava提供了若干方法,来判断异常类型并且重新传播异常。 例如: try { someMethodThatCouldThrowAnything()

Guava   源码  

1. 私有构造器 private Objects() {} 2. 判断两个可能为null的对象是否相等 public static boolean equal(@Nullable Object a, @Nullable Object b) { return a == b || (a != null && a.equals(b)); } 当一个对象中的字段可以为null时,实

Guava   源码  

大多数情况下,开发人员使用null表明的是某种缺失情形:可能是已经有一个默认值,或没有值,或找不到值。例如,Map.get返回null就表示找不到给定键对应的值。 Guava用Optional<T>表示可能为null的T类型引用。一个Optional实例可能包含非null的引用(我们称之为引用存在),也可能什么也不包括(称之为引用缺失)。它从不说包含的是null值,而是用存在或缺失来表示。但Opt

Guava   源码  

Preconditions是guava提供的用于进行代码校验的工具类,其中提供了许多重要的静态校验方法,用来简化我们工作或开发中对代码的校验或预 处理,能够确保代码符合我们的期望,并且能够在不符合校验条件的地方,准确的为我们显示出问题所在,接下来,我们就来学习使用Preconditions 进行代码校验。 我们可以轻松的写出我们自己的先决条件,如下: public static Object ch

Guava   源码  

把任意的字符串,通过一些分隔符将它们连接起来是大多数程序员经常处理东西。以前的方式就是迭代,append等操作,使用Joiner可以更方便。 我们先看一下以前的处理方式: // 通过分隔符将字符串链接在一起 public static String builder(List<String> list,String delimiter){ StringBuilder str

Guava  

注意: 重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在行尾分割文本文件。 // this will work { "key" : 10 } // this will not work { "key" : 10 } 2. 下载Jar 使用之

hive   JsonSerde   json   serde  
1 2 3 4 5 6 7 8 9