多个list交叉排列

/*
 */
package javafxdemo1;

import java.util.ArrayList;
import java.util.List;

/**
 * A,B,C,D,E分别代表一个网址,网址交叉排列
 * @author shuangxi
 */
public class NewClass {

    public static void main(String[] args) {
        List list1 = new ArrayList();
        for (int i = 0; i < 10; i++) {
            list1.add("A");
        }
        List list2 = new ArrayList();
        for (int i = 0; i < 10; i++) {
            list2.add("B");
        }
        List list3 = new ArrayList();
        for (int i = 0; i < 20; i++) {
            list3.add("C");
        }
        List list4 = new ArrayList();
        for (int i = 0; i < 30; i++) {
            list4.add("D");
        }
        List list5 = new ArrayList();
        for (int i = 0; i < 50; i++) {
            list5.add("E");
        }

        List notRepetition = new ArrayList();
        for (int i = 0; i < 10; i++) {
            notRepetition.add(i + 1);
        }
        List group = new ArrayList();
        group.add(list1);
        group.add(list2);
        group.add(list3);
        group.add(list4);
        group.add(list5);
        group.add(notRepetition);

        List result = new ArrayList(list1.size() + list2.size() + list3.size() + list4.size() + list5.size() + notRepetition.size());
        int sum = list5.size();
        for (int j = 0; j < sum; j++) {//循环最大分组的size
            for (int a = 0; a < group.size(); a++) {
                if (group.get(a) != null && ((List) group.get(a)).size() > 0) {
                    result.add(((List) group.get(a)).remove(0));//遍历每个list(不是name为group的list),取出第一个网址并remove
                }
            }
            result.add("\n");
        }
        for (int i = 0; i < result.size(); i++) {
            System.out.print(result.get(i));
        }
    }
}


你可能感兴趣的:(多个list交叉排列)