見出し画像

Javaで配列をさっさと作ったり配列の中を検索したり

「Java 配列 あるか」での検索履歴が増えて参りました。

さっとその場でリストを作って、「ここの数値がこのリストの中身に合致するときだけ処理をする」みたいなコードをパパッと作りたい時用です。

とりあえず結論

検索が必要なら配列じゃなくてArrayListを使え

【追記】さらにさっさとArrayList作れた

List<String> hogeArrayList = Arrays.asList("hoge", "test", "dayo"); //簡易版
List<String> hogeArrayList = new ArrayList<>(Arrays.asList("hoge", "test", "dayo")); //ちゃんと版

ArrayListをさっさと作る

型[] hoge = {要素, 要素, 要素, ...};
List<型> hogeList = Arrays.asList(hoge); // 簡易版
List<型> hogeArrayList = new ArrayList<型>(Arrays.asList(hoge)); // ちゃんと版

簡易版とちゃんと版の違いについてはこちらの記事を参考に
【Java】配列をArrayListに変換する ※注意あり - Qiita

配列の中に指定の要素が存在するか調べる時はArrayList.contains()

if(hogeArrayList.contains(fuga)){
       return true;
}

プリミティブ型を使う時の注意

intとかlongとかのプリミティブ型はArrayListに入れられないので、IntegerとかLongとかのラッパー型を使う。

キャスト面倒なので、最初に配列作る時にラッパー型で作っておくと楽。

ちなみに

ArrayListは本来

List<Stirng>hoge = new ArrayList<>();
hoge.add("A");
hoge.add("B");

ってやって作って要素入れるけど、「この中に入ってたら処理」みたいなやり方をする時は、配列に入れた要素が一覧出来た方が見やすいので、addじゃなくて一気に配列作ってそれをList化した方が見やすい。



この記事が気に入ったらサポートをしてみませんか?