【发布时间】:2012-06-20 15:08:51
【问题描述】:
我有一个List<List<String>>
我需要在第一个维度上获取所有可能连接的列表
[ [1,2 ], [1] , [3,4] ]
应该给:
[ 113, 114, 213, 214 ]
我正在尝试 2 个循环,应该可以。
这是我尝试过的:
private static List<String> constructIndexes(List<List<String>> indexList){
List<String> index = new ArrayList<String>();
String v="";
for (int i=0; i< indexList.size(); i++){
List<String> l = indexList.get(i);
for (int j=0; j<l.size(); j++){
if (index.size()>0){
for (int k=0; k<index.size(); k++){
index.set(k, index.get(k)+l.get(j));
// System.out.println(">");
}
} else {
index.add(l.get(j));
}
}
}
return index;
}
一些初始化代码:
List<List<String>> indexList = new ArrayList<List<String>>();
List<String> l = new ArrayList<String>();
l.add("1");
l.add("2");
indexList.add(l);
l = new ArrayList<String>();
l.add("1");
indexList.add(l);
l = new ArrayList<String>();
l.add("3");
l.add("4");
indexList.add(l);
System.out.println( constructIndexes(indexList));
【问题讨论】:
-
所以...串联只能走一种方式? (左右而不是左右?)
-
您这么说,您的代码中什么不起作用?你得到什么你不想要的? (一个错误,意外的输出?)
-
@Lattyware 我同意 ciril 也应该将这些信息放入其中,但代码非常简单,很容易看出问题所在。在他的代码中,数组元素被添加到索引列表中,而不是被连接成一个字符串然后被添加到索引列表中。
-
更多的是提出好问题的好习惯。