合并多个List

public class ListUtil {
 
    /**
     * 合并多个list
     * @param lists
     * @param <T>
     * @return
     */
    public static <T> List<T> mergeLists(List<T>... lists) {
        Class clazz = lists[0].getClass();
        List<T> list = null;
        try {
            list = (List<T>) clazz.newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        for (int i = 0, len = lists.length; i < len; i++) {
            list.addAll(lists[i]);
        }
        return list;
    }
}

测试方法:

public class ListUtilTest {
 
    /**
     * 测试合并多个list
     */
    @Test
    public void testMergeLists() {
        List<String> list1 = new ArrayList<String>();
        list1.add("张三");
        list1.add("李四");
        list1.add("王五");
        List<String> list2 = new ArrayList<String>();
        list2.add("老张");
        list2.add("老李");
        list2.add("老王");
        /*List<String> list = new ArrayList<String>();
        list.addAll(list1);
        list.addAll(list2);*/
        List<String> list = ListUtil.mergeLists(new List[]{list1, list2});
        System.out.println(list);
    }
}

猜你喜欢

转载自blog.csdn.net/u010999809/article/details/80993831