java定义静态变量时合并多个List

来源:互联网 发布:什么源码值得读知乎 编辑:程序博客网 时间:2024/06/04 20:11

在方法体中 ,合并两个或多个list时,都可以通过调用java.util.List中的方法或者自己实现方法解决。

但是在声明静态变量时,怎么合并多个list?我们可以通过以下方式:

例如有四个list:

private final static List<String> aList    = new ArrayList<>(Arrays.asList(            "aa",            "aaa"    ));private final static List<String> bList    = new ArrayList<>(Arrays.asList(            "bb",            "bbb"    ));private final static List<String> cList    = new ArrayList<>(Arrays.asList(            "cc",            "ccc"    ));private final static List<String> dLsit    = new ArrayList<>(Arrays.asList(            "dd",            "ddd    ));


1、定义初始化静态方法

若想再定义一个list,内容为以上若干个list的合集,可以定义为:

private final static List<String> mergeab = new ArrayList<String>();static {    mergeab.addAll(aList);    mergeab.addAll(bList);}

同理,若想再多合并几个list,在静态方法中add就可以了,这样定义会在声明时就将变量初始化为几个list的合集。


2、使用org.apache.commons.collections中的ListUtils.union()方法

Apache的common包中有很多现成的工具类可以使用,不用再自己重新定义方法,例如:

private final static List<String> mergeabcd = ListUtils.union(            ListUtils.union(aList, bList),             ListUtils.union(cList, dLsit));

就可以将以上几个list合并。







0 0