我无法绕过以下内容,说我有一个列表,每个列表都包含一个“ for”循环.每个继承都应该在彼此之间.
因此,如果我有一个包含3个对象的列表,我想
class Focus {
String focus;
List values;
public Focus(String focus, String... values) {
this.focus = focus;
this.values = Lists.newArrayList(values);
}
}
List focuses = new ArrayList();
focuses.add(new Focus("Focus 1", "09", "14", "13", "12"));
focuses.add(new Focus("Focus 2", "94", "92"));
focuses.add(new Focus("Focus 3", "A", "B"));
String my_string = "";
for (Focus obj1 : list_obj_x) {
for (Focus obj2 : list_obj_xx) {
for (Focus obj3 : list_obj_xxx) {
my_string += obj1 + " " + obj2 + " " + obj3;
}
}
}
显然,有了列表,for循环结构就可以增长,而以上是不可能的.
我需要一个动态结构来满足my_string的需要.即:
94 09 A
94 14 A
94 13 A
94 12 A
94 09 B
94 14 B
94 13 B
94 12 B
92 09 A
92 14 A
92 13 A
92 12 A
92 09 B
92 14 B
92 13 B
92 12 B
输出应该像上面一样.
这是我到目前为止所拥有的:
int focusCount = focuses.size();
for (int i = (focusCount - 1); i >= 0; i--) {
Focus currentFocus = focuses.get(i);
List currentFocusValues = currentFocus.values;
for (int cfv = 0; cfv < currentFocusValues.size(); cfv++) {
String currentFocusValue = currentFocusValues.get(cfv);
for (int j = (i - 1); j >= 0; j--) {
Focus previousFocus = focuses.get(j);
List previousFocusValues = previousFocus.values;
for (int pfv = 0; pfv < previousFocusValues.size(); pfv++) {
String previousFocusValue = previousFocusValues.get(pfv);
System.out.println(currentFocusValue + " " + previousFocusValue);
}
}
}
}
它可以满足列表值的所有组合,
但不是我想要的结构.
有人可以帮帮我吗?