正常狀況下,咱們聲明一個List須要以下代碼java
List<String> list = new ArrayList<>(); list.add("AAA"); list.add("BBB"); list.add("CCC");
使用Google Guava提供的Lists類聲明就方便不少,代碼以下google
package com.google.common.collect; //導入jar包
List<String> list = Lists.newArrayList("AAA", "BBB", "CCC");
在實際開發中,咱們常常遇到須要處理集合中對象的狀況,好比返回一個集合中User類的Age大於18的用戶列表spa
package com.rrq.guava; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import java.util.Collection; import java.util.List; public class Demo02 { public static void main(String[] args) { //獲取用戶集合 List<User> list = GetUserList(); //使用filter方法過濾條件是Age大於18的數據 Collection<User> result = Collections2.filter(list, x -> x.getAge() > 18); for (User item : result) { System.out.println(String.format("%s=%d", item.getName(), item.getAge())); } } //初始化用戶列表 public static List<User> GetUserList() { User user1 = new User(); user1.setName("brazel"); user1.setAge(18); User user2 = new User(); user2.setName("AAA"); user2.setAge(11); User user3 = new User(); user3.setName("BBB"); user3.setAge(20); User user4 = new User(); user4.setName("CCC"); user4.setAge(22); List<User> list = Lists.newArrayList(); list.add(user1); list.add(user2); list.add(user3); list.add(user4); return list; } } class User { private String Name; private int Age; /*** * 獲取用戶名 * * @return */ public String getName() { return Name; } /*** * 設置用戶名 * * @return */ public void setName(String name) { Name = name; } /*** * 獲取年齡 ****/ public int getAge() { return Age; } /** * 設置年齡 **/ public void setAge(int age) { Age = age; } }
輸出結果:code
BBB=20
CCC=22orm