私はJavaが初めてです...
2 つの ArrayList があります。
subList1
subList2
それらは別のメソッドによってすでに入力されており、実行すると、リストには次の文字列が含まれます。
subList1: [amulet, map, stone, sword]
subList2: [bottle, shield, wand]
私ができる必要があるのは、アルファベット順で subList2 の要素よりも小さいすべての要素が subList1 に含まれるように、両方のリストを並べ替えることです。また、両方のリストのサイズは同じでなければなりません。
期待される出力:
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)
どんな助けでも大歓迎です。ありがとう。