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]
是不是很赞的赶脚,哈哈,快点自己试试吧。