50,549
社区成员
发帖
与我相关
我的任务
分享
private static List demo(String[] number, String[] letter){
Arrays.sort(number);
Arrays.sort(letter);
List<String[]> list=new ArrayList();
String[] longArray;
String[] shortArray;
if(number.length>letter.length){
longArray=number;
shortArray=letter;
}else{
longArray=letter;
shortArray=number;
}
for (int i=0;i<shortArray.length;i++
) {
String[] array=new String[2];
array[0]=number[i];
array[1]=letter[i];
list.add(array);
}
return list;
}
public static void main(String[] args) {
String[] number = {"1", "3", "2","5","4"};
String[] letter = {"A", "D", "B", "C", "E","H","G"};
List<String[]> list=demo(number,letter);
System.out.println();
}
import java.util.ArrayList;
import java.util.List;
public class Main {
//对排列结果进行存贮的list
static List range_List = new ArrayList();
public static void main(String[] args) {
List list1 = new ArrayList();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
List list2 = new ArrayList();
list2.add("A");
list2.add("B");
list2.add("C");
list2.add("D");
List list3 = new ArrayList();
list3.add("A");
list3.add("B");
list3.add("C");
list3.add("D");
List list = new ArrayList();
list.add(list1);
list.add(list2);
list.add(list3);
Main main = new Main();
List listlll = new ArrayList();
main.range(list, listlll);
System.out.println(range_List);
}
/**
* @param list_range 需要排列的数组
* @param list_trans 排列后的结果
*/
void range(List list_range, List list_trans) {
//获得当前要排列的list的长度
int size = list_range.size();
//循环到最后一次
if (size == 1) {
//将排列结果汇总
for (Object object : (List) list_range.get(0)) {
List l_list = new ArrayList();
l_list.addAll(list_trans);
l_list.add(object);
//将此结果汇总
range_List.add(l_list);
}
} else {
//没有循环到底
//给存排列结果的list添加排列
List loopList = (List) list_range.get(0);
List list_loop = new ArrayList();
list_loop.addAll(list_range);
list_loop.remove(0);
for (Object object : loopList) {
//将其添加到存排列结果的list中
List list_d = new ArrayList();
list_d.addAll(list_trans);
list_d.add(object);
//递归
range(list_loop, list_d);
}
}
}
}