guava集合类中List的相关使用方法

来源:互联网 发布:免费教学软件下载 编辑:程序博客网 时间:2024/06/05 13:33

例子:

public class TestListsPartition {    public static void main(String[] args) {        testGuavaListTransform();    }    /**     * 将大的list集合分成小的list集合     *     */    public  static void testGuavaListPartition(){        List<Integer>  myList = Lists.newArrayList(1,2,3,4,5,6,7);        List<List<Integer>> listList = Lists.partition(myList, 2);        for(List<Integer> list :listList){            System.out.println(list);//            [1, 2]//            [3, 4]//            [5, 6]//            [7]        }    }    /**     * 集合进行转换     * 可以将List<object1> -> List<object>     */    public  static  void testGuavaListTransform(){        Function<String, Integer> strlen = new Function<String, Integer>() {            public Integer apply(String str) {                Preconditions.checkNotNull(str);                return str.length();            }        };        List<String> from = Lists.newArrayList("abc", "defg", "hijkl");        List<Integer> to = Lists.transform(from, strlen);        for (int i = 0; i < from.size(); i++) {            System.out.printf("%s has length %d\n", from.get(i), to.get(i));//            abc has length 3//            defg has length 4//            hijkl has length 5        }    }    /**     * 将普通list集合转换为copyAndwriteArrayList集合     */    public static void guavaCopyAndWrite(){        List<Integer> listss = Lists.newArrayList(1,23,3);        List<Integer> list = Lists.newCopyOnWriteArrayList(listss);        for(Integer integer:list){            if(integer == 1){                list.remove(1);            }            System.out.println(integer);        }    }}
 /**     * 对集合过滤     */    public void filterCollection(){        List<Integer> old = Lists.newArrayList(1,2,3,4);        Collection<Integer> xin = Collections2.filter(Lists.newArrayList(old), new Predicate<Integer>() {            @Override            public boolean apply(Integer integer) {                if(integer == 1){                    return true;                }                return false;            }        });        List<Integer> newlist = Lists.newArrayList(xin);        System.out.println(newlist);    }



1 0
原创粉丝点击