比如有三个独立的列表
ArrayList<String> arr1={我,你,他};
ArrayList<String> arr2={想,不想};
ArrayList<String> arr3={摸摸你,亲亲你,闻闻你};我的结果能出来的ArrayList<String> arrresult 数据有 3x2x3=18个,
就是在三个列表中,每一个都出来一个内容组合成一个新的内容,最后的值为:
arrresult.get[0] = 我想摸摸你;
arrresult.get[1] = 我不想摸摸你;
arrresult.get[2] = 我想亲亲你;
arrresult.get[3] = 我不想亲亲你;
arrresult.get[15] = 他不想闻闻你;出来的数据的排序顺序不要紧,只要出来这15个组合结果就OK了。
ArrayList<String> arr1={我,你,他};
ArrayList<String> arr2={想,不想};
ArrayList<String> arr3={摸摸你,亲亲你,闻闻你};我的结果能出来的ArrayList<String> arrresult 数据有 3x2x3=18个,
就是在三个列表中,每一个都出来一个内容组合成一个新的内容,最后的值为:
arrresult.get[0] = 我想摸摸你;
arrresult.get[1] = 我不想摸摸你;
arrresult.get[2] = 我想亲亲你;
arrresult.get[3] = 我不想亲亲你;
arrresult.get[15] = 他不想闻闻你;出来的数据的排序顺序不要紧,只要出来这15个组合结果就OK了。
import java.util.ArrayList;public class NewClass { static ArrayList<String> array0 = new ArrayList<String>();
static ArrayList<String> array1 = new ArrayList<String>();
static ArrayList<String> array2 = new ArrayList<String>(); public static ArrayList<String> test(ArrayList<String> array1, ArrayList<String> array2) {
ArrayList<String> array0 = new ArrayList<String>();
for (String s : array1) {
for (String ss : array2) {
array0.add(s + ss);
}
}
return array0;
} public static void main(String[] args) {
array0.add("我");
array0.add("你");
array0.add("他"); array1.add("想");
array1.add("不想"); array2.add("摸摸你");
array2.add("亲亲你");
array2.add("闻闻你"); for (String s : test(test(array0, array1), array2)) {
System.out.println(s);
}
}
}我想摸摸你
我想亲亲你
我想闻闻你
我不想摸摸你
我不想亲亲你
我不想闻闻你
你想摸摸你
你想亲亲你
你想闻闻你
你不想摸摸你
你不想亲亲你
你不想闻闻你
他想摸摸你
他想亲亲你
他想闻闻你
他不想摸摸你
他不想亲亲你
他不想闻闻你
import java.util.*;public class Test
{
public static void main(String[] args)
{
ArrayList<String> arr1 = new ArrayList<String>();
arr1.add("我");
arr1.add("你");
arr1.add("他");
ArrayList<String> arr2 = new ArrayList<String>();
arr2.add("想");
arr2.add("不想");
ArrayList<String> arr3 = new ArrayList<String>();
arr3.add("摸摸你");
arr3.add("亲亲你");
arr3.add("闻闻你");
ArrayList<String> arrresult = new ArrayList<String>();
for (String str1 : arr1)
for (String str2 : arr2)
for (String str3 : arr3)
arrresult.add(str1 + str2 + str3);
for (String str : arrresult)
System.out.println(str);
}
}
首先他把数据组合封装到了一个函数里面,这样比较规范,便于维护;其次,他没有定义一个新的ArrayList对象,而是直接把array1和array2加到了array0上面,这样节省了内存占用。
总之,都挺高的!