FluentIterable 是guava集合类中常用的一个类,主要用于过滤.转换集合中的数据:FluentIterable是一个抽象类,实现了Iterable接口,大多数方法都返回FluentIterable对象,这也是guava的思想之一. 首先构造集合中的元素类型 public class User { private int age; private String name; public User() { } public User(int age, String name) { th…
public class FluentIterableTest { public static void main(String[] args) { Man man1 = new Man("Jack Miller", 18); Man man11 = new Man("Jack Miller", 18); Man man2 = new Man("Roy Miller", 18); Man man3 = new Man("Lily Mil…
ImmutableMap 的作用就是:可以让java代码也能够创建一个对象常量映射,来保存一些常量映射的键值对. 分析以下情景,来具体讨论这个的好处. 假设现在有需求如下:根据数据库存的某个key字段,来获得不同的提示名字.有以下3种处理方法1:用 多个 if else 语句,只要新添加个字段,你就得添加个 if else ,差评2:用 switch case 语句,只要新添加个字段,你就得添加个 case ,差评3:用 对象映射 方法,如下所示. 新建字段,只需要添加一行就…
这写API可解决的问题 1. 集合元素的过滤 - FluentIterable Predicate Range Function 1) 先说Predicate<T>,这个相当与一个过滤原则,里面有个apply()方法,通过一定的条件返回true或false,依次判断元素需不需要过滤 其中T表示待过滤集合里面的元素类型,举个例子 package guavaexam.test; public class Man { private String name; private int age; pub…
这是一个常量工具类.Iterables类包含了一系列的静态方法,来操作或返回Iterable对象. public final class Iterables { private Iterables() {} } 1.boolean removeAll(Iterable removeFrom,Collection elementsToRemove) /** * Removes, from an iterable, every element that belongs to the provided…