Guava對於Java的集合進行了包裝,還是很好用的啊,今天我們就來看一下Guava的對於JDK中的集合的包裝怎樣的是我們的編程變得優雅和高效的。
首先我們在平時最多使用的是List集合和Map集合,我們今天就首先簡單的來學習一下Guava的List集合,至於集合的性能之類的我們在以後的學習中在看。我們可以回顧一下我們在使用平時的Java時的List的使用就是:
List<String> stringList = new ArrayList<String>();
這就是我們平時使用的List,在接觸Guava以前我是不懂的List還有另外一種的用法:
1.可以不用在頻繁重複的定義<>裏的Type:據說在JDK1.7之後原生的List也支持了,但是我是的時候好像不行哎,當然這樣說也不是空穴來風啊,一定有人知道啦。
List<String> stringList = new ArrayList<String>();
2.可以進行定義List的時候接收參數定義!!!
List<String> guavaList2 = Lists.newArrayList(stringList);
是不是很贊
3.可以進行初始大小的設置,可是並沒有用啊,還是可以add,可能是爲了直觀把,哦哦,原生的List也可以哦。
List<String> guavaList3 = Lists.newArrayListWithCapacity(4);
其實還是調用的原生的List啦:
好啦,List今天先看倒這,還有好多的方法沒有看,可以去看看源碼啦。。
好了上今天的代碼:
import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.List;
/**
* Created by luyangli on 15-9-19.
*/
public class ListsTest {
public static void main(String[] args) {
//List<String> stringList = new ArrayList<String>(4);
List<String> stringList = new ArrayList<String>();
stringList.add("a");
stringList.add("d");
stringList.add("y");
stringList.add("b");
System.out.println("==========原始的list=========");
System.out.println("stringList :" + stringList);
List<String> guavaList = Lists.newArrayList();
guavaList.add("a");
guavaList.add("d");
guavaList.add("y");
guavaList.add("b");
System.out.println("==========Guava的list=========");
System.out.println("guavaList :" + guavaList);
List<String> guavaList1 = Lists.newArrayList("a","d","y","b");
System.out.println("==========Guava的初始化list=========");
System.out.println("guavaList1 :" + guavaList1);
List<String> guavaList2 = Lists.newArrayList(stringList);
System.out.println("==========Guava拷貝化list=========");
System.out.println("guavaList2 :" + guavaList2);
//List<String> guavaList3 = Lists.newArrayListWithCapacity(4);
List<String> guavaList3 = Lists.newArrayListWithCapacity(4);
System.out.println("==========Guava的初始化大小list=========");
System.out.println(guavaList3.size());
guavaList3.add("a");
guavaList3.add("d");
guavaList3.add("y");
guavaList3.add("b");
guavaList3.add("b");
System.out.println(guavaList3.size());
System.out.println("guavaList3 :" + guavaList3);
}
}
來看看驗證結果把:
==========原始的list========= stringList :[a, d, y, b] ==========Guava的list========= guavaList :[a, d, y, b] ==========Guava的初始化list========= guavaList1 :[a, d, y, b] ==========Guava拷貝化list========= guavaList2 :[a, d, y, b] ==========Guava的初始化大小list========= 0 5 guavaList3 :[a, d, y, b, b]
是不是很讚的趕腳,哈哈,快點自己試試吧。