一度に 1 つずつリストする ints[] のリストがあります。結果が反転しているように見える興味深いパターンを見つけたので、それをテストするために、メソッドに入ったリストを反転して表示し、それらが一致することを発見しました。プログラムでそれらを見つけたいのですが、リスト自体を文字列として出力すると、アイテム/注文が一致しても結果が一致しません。
メソッドは次のとおりです(単にデータを取得し、順序を逆にして両方を出力します..何も空想しません):
private static void show (int [] arr) {
//before we print results lets reverse the list and study if there's something we can do to make this go faster
int[] ReversedList = new int[arr.length];
for (int x = arr.length-1, y=0; x>=0;x--, y++) {
ReversedList[y] = arr[x];
}
for (int x = 0; x < arr.length; x++) {
//System.out.print (" " + (arr [x] + low[x]));
System.out.print (" " + (arr[x]));
}
System.out.println (" " + arr.toString());
for (int x = 0; x < ReversedList.length; x++) {
//System.out.print (" " + (arr [x] + low[x]));
System.out.print (" " + (ReversedList[x]));
}
System.out.println (" " + ReversedList.toString() + " ***");
//System.out.println("*****************");
}
しかし、文字列が一致しません。出力のスニペットを次に示します ( *は逆になっていることを意味します)。
0 0 0 20 [I@199a0c7c
20 0 0 0 [I@50a9ae05 ***
....
20 0 0 0 [I@1e9af0b1
0 0 0 20 [I@4e300429 ***
それらはすべてこのようなものであり、同じであるのになぜ一致しないのかわかりません(少なくとも同じように見えます)。すべてのint []を含むarraylistが呼び出され、results.indexof results
(reversed)を実行しようとしましたが、運がありません(すべてに対して「-1」を取得します)。どうすれば一致を見つけることができますか?