- ★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net
791 :デフォルトの名無しさん[sage]:2016/09/26(月) 18:51:06.54 ID:ZCZkJviH - 初歩的な質問だけど、2つの配列が同一の内容を持っていることを簡単にチェックしてくれるメソッドは無い?
例えば、 int[] a,bがあった時, int型のsize == a.length == b.lengthとする。 この時、 int i=0; for(; i<size; i++){ if(a[i] == b[i]) i++; } String ans = (i==size) ? "same" : "not same"; という普通のチェック法しか無いのか?
| - ★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net
793 :デフォルトの名無しさん[sage]:2016/09/26(月) 20:20:19.60 ID:ZCZkJviH - >>792
サンクス
| - ★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net
794 :デフォルトの名無しさん[sage]:2016/09/26(月) 20:38:58.07 ID:ZCZkJviH - >>791をちょっと発展させた質問だけど、
ハッシュマップのキー部分が(基本型じゃ無く)配列で定義されていたら、直感的なやり方だと上手くいかなくなってしまう 具体例 HashMap<int[], Integer> map = new HashMap<int[], Integer>() {{ put(new int[]{1, 1}, 3); put(new int[]{-1, 5}, 20); put(new int[]{10, 2}, -3); }}; System.out.println(map.get(new int[]{-1, 5})); // 出力は null これだとダメ こうしなきゃ行けないの? for (int[] a : map.keySet()) { if (Arrays.equals(a, new int[]{-1, 5})) { System.out.println(map.get(a)); } }
|
|