一个笔试题(1)

N个List 笛卡尔基

package com.test;

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

public class Main {

    public static int N = 4;
    
    public static void main(String[] args) {    
        
        List<String> list1 = new ArrayList<String>();
        list1.add("A");
        list1.add("B");
        list1.add("C");        
    
        List<String> list2 = new ArrayList<String>();
        list2.add("D");
        list2.add("E");
        list2.add("F");
        
        List<String> list3 = new ArrayList<String>();
        list3.add("H");
        list3.add("I");
        list3.add("J");    
        
        List<String> list4 = new ArrayList<String>();
        list4.add("1");
        list4.add("2");
        list4.add("3");    
        
        List<List<String>> l = new ArrayList<List<String>>();
        l.add(list1);
        l.add(list2);
        l.add(list3);
        l.add(list4);
        
        List<String> strings = new ArrayList<String>();        
        strings = l.get(0);        
        for (int i = 0; i < l.size(); i++) {
            if (i < N - 1)             
                strings = conList(strings, l.get(i + 1));
            else 
                System.out.print(strings);
        }
        
    }    

    public static List<String> conList(List<String> list1,List<String> list2){
        List<String> strings = new ArrayList<String>();        
        for(String s1 : list1) {            
            for(String s2 : list2) {
                strings.add(s1 + s2);
            }
        }        
        return strings;
    }

    
}

 

posted @ 2013-02-20 16:47  邪恶痞  阅读(155)  评论(0编辑  收藏  举报