【Java ArrayListの使い方】これさえ知っていれば大丈夫!リストを使いこなそう!

プログラムPG・PC効率UP・ブログ
プログラム

当サイト「ドロイドブログ」を運営しています、ゆーちゃまさんです。

Webアプリ開発3年ほど、その後Androidアプリ開発を10年以上つづけています。

  • 今まさに勉強中で ArrayListの使い方が分からない。
  • 例文などで使い方は分かったけど実際にどういう風に使われているかイメージつかない。
ゆーちゃま
ゆーちゃま

上記のような方に向けて、分かりやすく使い方・実際の事例を解説しました^^

めちゃくちゃ開発で使うこのListの基本を覚えちゃいましょう!

参考になればうれしいです。

オンラインレッスン始めました!

zoomでのオンラインレッスンをはじめました^^
マンツーマンで対応しますので、自由に質問していただけます。
javaの基礎から、転職に関する相談、Androidアプリ開発・そのた幅広く対応します。

> Androidアプリの開発・プログラミング基礎を丁寧に教えます!

  • マンツーマンでjava基礎、わからない部分を丁寧に解説!
  • Androidアプリ開発の方法・技術的な解説
  • ITエンジニア転職の相談
  • ITスクール選びで悩んでいる
  • 実際に現場で習得しておきたいことを教えます^^

など内容は幅広くたいおういたします^^
お気軽に相談してください!

スポンサーリンク

addメソッドで簡単に追加

ArrayListはListを継承した可変長配列と呼ばれるものです。

ほかにもLinkedListなどのクラスもあります。

インターフェースとは…

の話をすると長くなるので、とにかく使い方を覚えてバンバンつかって慣れましょう!

こんな感じでまずはnewでインスタンス化します。

宣言時に、このリストに入るものが何なのかも宣言

<String>の部分です。

今回は文字列なのでStringですが、他のクラスなど何でも設定できます。

ただし宣言時に設定したオブジェクト以外はリストに入れる事はできません。

今回はStringが入ったリストだよと言う事。

そして、addメソッドで追加ですね。

チェックポイント

通常の配列は宣言時に配列の数を決めないといけません。
しかし、可変長配列であるこのArrayListはその必要がありません。

この部分が配列と違って追加したいときにいくらでも追加できるので、使い勝手が良いところです!

スポンサーリンク

Listの要素は getメソッドで取り出す

リストの中身の取り出し方は上記になります。

getメソッドを利用。
メソッドの引数は、何番目を取り出すかを指定するインデックス(番号)

何番目を取り出すかを0番から指定します。

実際はfor文と組み合わせてよく使う

実際にはwebアプリ(サイト)であれば、データベースから特定のデータを抽出した結果がこのArrayListに入っていて、そのリストを商品一覧ページに表示するなど。

Androidアプリでは商品検索webApiを実行した結果が、同じようにArrayListで返されてそのリストを何かに使うといった感じです。

上記サンプルの様に商品リストを取得して、商品が500円以下の場合は何かをする…など

リストはfor文とセットで利用することが多いです。

リストが空かどうかのメソッドはユーティリティーに作っておこう

実際にリストを利用する場合、リストが空かどうか判定することがたくさんあります。

nullであれば、ヌルぽがでますし。

ゆーちゃま
ゆーちゃま

NullPointerException

非常に大事ですので、あいまいにしか理解していない場合は今のうちに理解しちゃいましょう^^

⇒ ⇒ ⇒ 【プログラム勉強中】NullPointerException ぬるぽをちゃんと理解しよう!

上記↑のようなメソッドをUtilクラス(便利機能クラス)に追加しておきましょう!

そうすることによって、毎回同じチェックしなくて良くなります。

毎回 nullでなく、listのサイズが0じゃないってチェックを書かなくても、上記↑のように良くなる。

便利ですね。

因みに xxxxList.size() ←これでリストのサイズが分かります。

ArrayListを配列に変換するにはtoArrayを使う

時々ですが、ArrayListを通常の配列に変換したいときが出てきます。

ゆーちゃま
ゆーちゃま

利用するメソッドの引数が配列だったりすると、arrayListをそのまま利用できないので、配列に変換する必要があります。

実行結果

System.out: [item1, item2, item3]

6行目で変換を実行しています。

「変換したいArrayList」.toArray(new 対象のObject[リスト.size()])
使い方はこのまま覚えてしまいましょう!
初めは難しいこと考えずに使い方を覚えて使えるようにする!
これが大事。
「変換したいArrayList」:これは元のArrayListです。.toArrayメソッドを利用。
引数に、ArrayListの中身のオブジェクト今回の場合はStringの配列なので new String[list.size()]となります。
サイズは、必ず listのsize()メソッドを使いましょう。

配列からArrayListを生成するには、Arrays.asList

今度は逆に、配列からArrayListを生成するパターン。

ゆーちゃま
ゆーちゃま

これも時々利用します。使用するメソッドの戻り値が配列だけど、その配列にさらにデータを追加したりしたい時など。配列は動的に追加できないので、ArrayListに変換する必要があります。

実行結果

System.out: [item1, item2, item3, item4]

Arrays.asList(配列)
Arrays.asListの引数にリストにしたい配列を渡します
この戻り値を使ってそのまま追加addしようとすると例外発生します。
List型の戻り値を使って、ArrayListを生成します。
14行目:new ArrayList<>(toList);
ここでArrayListのコンストラクタに、先ほどのList型の戻り値を渡してArrayListを生成
これで、add追加も出来ます^^

まとめ

ゆーちゃま
ゆーちゃま

非常に便利で実際の開発では、しょっちゅう利用するリストの使い方でした。

for文との組み合わせでよく使うので参考にしてみてださい^^

空チェックメソッドも実際に使ってます!

こちらの記事もどうぞ^^

(Visited 285 times, 1 visits today)
スポンサーリンク
スポンサーリンク
スポンサーリンク
PG・PC効率UP・ブログプログラミング
ドロイドブログ

コメント

タイトルとURLをコピーしました