你可以把所有你的列表的totalList,其類型列表>。每次組合2個列表以填充所有組合案例。
下面是一個供您參考的例子,它會打印您想要的信息。
注意:它支持列表的動態數量和動態大小列表。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> listOne = Arrays.asList("Silver", "White", "Grey",
"Purple");
List<String> listTwo = Arrays.asList("Petrol", "Hybrid");
List<String> listThree = Arrays.asList("Toyota", "Micro");
List<List<String>> totalList = Arrays.asList(listOne,listTwo,listThree);
new Test().printAllCases(totalList);
}
public void printAllCases(List<List<String>> totalList)
{
List<String> result = new ArrayList<String>(totalList.get(0));
for(int index = 1; index < totalList.size() ; index++)
{
result = combineTwoLists(result, totalList.get(index));
}
/* print */
int count = 0;
for(String s: result)
{
System.out.printf("%d. %s\n", ++count, s);
}
}
private List<String> combineTwoLists(List<String> list1, List<String> list2)
{
List<String> result = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
for(String s1 : list1)
{
for(String s2: list2)
{
sb.setLength(0);
sb.append(s1).append(' ').append(s2);
result.add(sb.toString());
}
}
return result;
}
}
你試過什麼? – Christian