我是Java新手...
我有两个数组列表:
subList1
subList2
它们已由另一种方法填充,并且在运行时,列表包含以下字符串:
subList1: [amulet, map, stone, sword]
subList2: [bottle, shield, wand]
我需要做的是对两个列表进行排序,以便 subList1 包含所有按字母顺序小于 subList2 中元素的元素。两个列表大小也必须保持不变。
预期输出:
subList1: [amulet, bottle, map, shield]
subList2: [stone, sword, wand]
到目前为止我的代码:
Collections.sort(subList1);
Collections.sort(subList2);
//[amulet, map, stone, sword]
//[bottle, shield, wand]
for (int i1 = 0; i1 < subList1.size(); i1++) {
for (int i2 = 0; i2 < subList2.size(); i2++) {
if (subList1.get(i1).compareTo(subList2.get(i1)) < 0) {
// first run: element 0: subList1 = amulet, subList2 = bottle
String temp = subList1.get(i1);
subList1.set(i1, subList2.get(i1));
subList2.set(i1, subList1.get(i1));
我还得到了以下行的 IndexOutOfBoundsException:
if (subList1.get(i1).compareTo(subList2.get(i1)) < 0)
非常感谢任何帮助。谢谢。