トップページ > プログラム > 2016年09月26日 > ZCZkJviH

書き込み順位&時間帯一覧

7 位/155 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001020003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net

書き込みレス一覧

★★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));
}
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。