「しう」がJavaを勉強していて学んだことを書いています。
アウトプットをすることで、より定着しやすいと聞いたからです。
「しう」の備忘録的なものだと思ってください。
そして、ブログで書いたことが他の人(特にJava初学者)の役に立てばいいなと思います。
記事の信頼性:IT企業で働き始めた「しう」がプログラミングについて学習したことを記載しています。
使い方

ArrayListの使い方を見ていきましょう。
ArrayListには様々なメソッドを用意されています。
ここでは
① | ArrayListの宣言 |
② | add【要素の追加】 |
③ | get【要素の取り出し】 |
④ | set【要素の置き換え】 |
⑤ | remove【要素の削除】 |
⑥ | clear【要素をすべて削除する】 |
⑦ | size【要素数の指定】 |
⑧ | indexOf【要素の検索・何番目か】 |
⑨ | contains【要素の検索・あるかどうか】 |
について、見ていきます!
ArrayListの宣言
まずはArrayListの宣言をおこないましょう。
ArrayListでは、型名と変数名が必要になります。
ArrayList<型名> 変数名 = new ArrayList<型名>();
String型であれば次のようになります。
また、現在では右辺の<>の中のデータ型は省略可能です。
そして、ArrayList は List インターフェースを実装したクラスになります。
要するに、左辺でArrayListを使っていますが、Listにしてもいいということです。
実際、現場で多いのはこの書き方です。
いつもと書き方が違っていても、戸惑わないようにしましょう。
※この書き方だとArrayListに用意されて、Listに用意されていないメソッドは使うことができません。
気を付けてくださいね。
add【要素の追加】
ここまでで、ArrayListの用意ができました。
しかし、ArrayListの中は1つも要素がありません。
要素を追加するには、addメソッドを使います。
上で宣言したlistsを使うと、以下のようになります。
この時に気を付けることは、宣言時の<データ型>に当てはまらないものは要素に追加できません。
先ほど、<String>で宣言しているので、今回追加できるのはString型だけです。
get【要素の取り出し】
addメソッドで要素の追加ができるようになりましたね。
その要素を取り出すときに使うものがgetメソッドです。
リスト変数.get(取り出したい要素が何番目か)
ここでも先ほど宣言したlistsを使ってみましょう。
()の中には何番目を取り出したいか、書いておきます。
ArrayListも配列と同じように0番目から始まります。
何番目かを指定するときに注意しましょう。
set【要素の置き換え】
一度追加した要素を置き換えたい場合は、setメソッドを使います。
ここでもgetメソッドと同様に何番目の要素を置き換えるか指定しましょう。
リスト変数.set(変更したい要素が何番目か, 変更後の要素名)
具体例をあげると以下のようになります。
remove【要素の削除】
リストに追加された要素を削除したい場合はremoveメソッドを使います。
リスト変数.remove(削除したい要素が何番目か)
具体例をあげると以下のようになります。
ここで気を付けることは、1番目のsoccerが削除された後に、2番目に入っていたbaseballが1番目に移動していることです。
なくなった部分の要素は後ろの要素が詰めていくんですね。
指定する番号が変わるので、気を付けるようにしましょう。
clear【要素をすべて削除する】
removeメソッドで指定して順番の要素を削除できることを学びました。
しかし、全部の要素を削除したいときに、いちいち指定するのは面倒ですよね。
その時にはclearメソッドを使います。
リスト変数.clear()
具体例をあげると以下のようになります。
size【要素数の指定】
リストに追加されている要素の数を知りたいときには、sizeメソッドを使います。
リスト変数.size()
以下のような使い方が便利です。
この例では要素数が3つなので
lists.size() = 3 になります。
isEmpty
リストの要素が空か確かめたい場合はisEmptyメソッドを使います。
リスト変数.isEmpty()
実際の使い方は以下のようになります。
clearやremoveメソッドで要素をすべて削除した後もisEmptyメソッドはtrueを返すので注意しましょう。
indexOf【要素の検索・何番目か】
リストの中に指定した要素が何番目に入っているか検索するには
indexOfメソッドを使います。
リスト変数.indexof(検索したい要素名)
注意点としては、一番目の要素は0番目となるので気を付けましょう。
また、指定した要素がない場合は-1が返されます。
ちなみに、同じ要素名が複数ある場合は、最初の要素番号のみ表示されます。
上の例で
lists.indexOf(“soccer”)では1が返ってきます。(3番目は検索できません)
contains【要素の検索】
リストの中に、指定した要素が入っているかいないかだけ調べたいときは
containsメソッドを利用します。
リスト変数.contains(検索したい要素名)
要素数が必要ない場合は、containsメソッドを利用しましょう。
ArrayListとは何か?

データをまとめて格納するクラス
そもそも、ArrayListとは何なのでしょうか?
ArrayListはコレクションフレームワークと呼ばれるものの一種です。
データをまとめて格納するための入れ物のクラスだと覚えておきましょう。
配列と雰囲気が似ていますね。
コレクションフレームワークと呼ばれるものには、他にはHashMapなどがあります。
ここで差がつくポイント

ArrayListは可変長
ArrayListの特徴としては、後から要素を追加できます。
このことを可変長と言います。(リストの要素数を変えられること)
一方、配列の場合は宣言時に、要素数が決まっていて、その要素を超えた場合は追加できませんでした。
そのことを固変長といいます。
ArrayListでは最初に要素数を決めてします必要がないので、便利です。
状況に応じて使い分けましょう。
基本型の利用はダメ!
ArrayListでは基本型の利用をすることができません。
基本型とはint、double、booleanなどが当てはまります。
つまり、
ArrayList<int>、 ArrayList<double>、 ArrayList<boolean>
などの使い方はできません。
この場合は
ArrayList<Integer>、 ArrayList<Double>、 ArrayList<Boolean>
というように、ラッパークラスを用いてあげましょう。
もしくは、配列であれば基本型を使えるので、そちらでも大丈夫です。
まとめ
いかがでいたか?
今回は、Javaでの
- ArrayListの使い方
- ArrayListとは何か
- ArrayListで差がつくポイント
をまとめました。
プログラミング(Java)を勉強している人の役に立てば、幸いです。
☟あわせて読みたい 「しう」のオススメブログ


コメント