MENU
👇しうが厳選・おすすめのブログ!
しう
【テニス好きブロガー】 
テニス、読書が好きです。IT企業で学んだこともブログに書いています。高校教諭(テニス部顧問)→IT企業。テニス歴12年。人生をより有意義なものにしたいと思い、ブログを書き始めました。Twitterもしています。
アーカイブ

JavaでのArrayListの使い方【「しう」の備忘録】

Java ArrayList

「しう」がJavaを勉強していて学んだことを書いています。

アウトプットをすることで、より定着しやすいと聞いたからです。

 

「しう」の備忘録的なものだと思ってください。

そして、ブログで書いたことが他の人(特にJava初学者)の役に立てばいいなと思います。

 

記事の信頼性:IT企業で働き始めた「しう」がプログラミングについて学習したことを記載しています。

目次

使い方

Java ArrayList

 

ArrayListの使い方を見ていきましょう。

ArrayListには様々なメソッドを用意されています。

 

ここでは

ArrayListの宣言
add【要素の追加】
get【要素の取り出し】
set【要素の置き換え】
remove【要素の削除】
clear【要素をすべて削除する】
size【要素数の指定】
indexOf【要素の検索・何番目か】
contains【要素の検索・あるかどうか】
ArrayListの宣言方法+メソッド一覧

について、見ていきます!

ArrayListの宣言

まずはArrayListの宣言をおこないましょう。

ArrayListでは、型名と変数名が必要になります。

 

ArrayList<型名> 変数名 = new ArrayList<型名>();

 

String型であれば次のようになります。

【例】
ArrayList<String> list = new ArrayList<String>();

 

また、現在では右辺の<>の中のデータ型は省略可能です。

【例】
ArrayList<String> list = new ArrayList<>();

 

そして、ArrayList は List インターフェースを実装したクラスになります。

要するに、左辺でArrayListを使っていますが、Listにしてもいいということです。

 

【例】
List<String> lists = new ArrayList<>();

実際、現場で多いのはこの書き方です。

いつもと書き方が違っていても、戸惑わないようにしましょう。

 

※この書き方だとArrayListに用意されて、Listに用意されていないメソッドは使うことができません。

気を付けてくださいね。

add【要素の追加】

ここまでで、ArrayListの用意ができました。

しかし、ArrayListの中は1つも要素がありません。

 

要素を追加するには、addメソッドを使います。

上で宣言したlistsを使うと、以下のようになります。

【例】
lists.add(“Java”);

 

この時に気を付けることは、宣言時の<データ型>に当てはまらないものは要素に追加できません。

先ほど、<String>で宣言しているので、今回追加できるのはString型だけです。

get【要素の取り出し】

addメソッドで要素の追加ができるようになりましたね。

その要素を取り出すときに使うものがgetメソッドです。

 

リスト変数.get(取り出したい要素が何番目か)

 

ここでも先ほど宣言したlistsを使ってみましょう。

【例】
lists.get(0)

 

()の中には何番目を取り出したいか、書いておきます。

ArrayListも配列と同じように0番目から始まります。

 

何番目かを指定するときに注意しましょう。

set【要素の置き換え】

一度追加した要素を置き換えたい場合は、setメソッドを使います。

ここでもgetメソッドと同様に何番目の要素を置き換えるか指定しましょう。

 

リスト変数.set(変更したい要素が何番目か, 変更後の要素名)

 

具体例をあげると以下のようになります。

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
lists.set(1, “basketball”);
System.out.println(lists.get(1));  //basketballが表示される

remove【要素の削除】

リストに追加された要素を削除したい場合はremoveメソッドを使います。

リスト変数.remove(削除したい要素が何番目か)

 

具体例をあげると以下のようになります。

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
lists.remove(1);                            //soccerが削除された
System.out.println(lists.get(1));  //baseballが表示される

 

ここで気を付けることは、1番目のsoccerが削除された後に、2番目に入っていたbaseballが1番目に移動していることです。

なくなった部分の要素は後ろの要素が詰めていくんですね。

 

指定する番号が変わるので、気を付けるようにしましょう。

clear【要素をすべて削除する】

removeメソッドで指定して順番の要素を削除できることを学びました。

 

しかし、全部の要素を削除したいときに、いちいち指定するのは面倒ですよね。

その時にはclearメソッドを使います。

 

リスト変数.clear()

 

具体例をあげると以下のようになります。

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
lists.clear();
lists.add(“basketball”);
System.out.println(lists);            //basketballのみ表示される

size【要素数の指定】

リストに追加されている要素の数を知りたいときには、sizeメソッドを使います。

 

リスト変数.size()

 

以下のような使い方が便利です。

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
for(int i = 0;  i  <  lists.size(); i++){
 System.out.println(lists.get(i));         //0番目から最後の要素をすべて表示する
}

 

この例では要素数が3つなので

 lists.size() = 3 になります。

isEmpty

リストの要素が空か確かめたい場合はisEmptyメソッドを使います。

 

リスト変数.isEmpty()

 

実際の使い方は以下のようになります。

【例】
List<String> lists = new ArrayList<>();
System.out.println(lists.isEmpty());  //trueを表示

lists.add(“tennis”);          //要素の追加
System.out.println(lists.isEmpty());  //falseを表示

lists.clear();             //要素の削除
System.out.println(lists.isEmpty());  //tureを表示

 clearやremoveメソッドで要素をすべて削除した後もisEmptyメソッドはtrueを返すので注意しましょう。

indexOf【要素の検索・何番目か】

リストの中に指定した要素が何番目に入っているか検索するには

indexOfメソッドを使います。

 

リスト変数.indexof(検索したい要素名)

 

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
lists.add(“soccer”);
System.out.println(lists.indexf(tennis));  //0と表示される

  

 注意点としては、一番目の要素は0番目となるので気を付けましょう。

 また、指定した要素がない場合は-1が返されます。

 

 ちなみに、同じ要素名が複数ある場合は、最初の要素番号のみ表示されます。

 

 上の例で

 lists.indexOf(“soccer”)では1が返ってきます。(3番目は検索できません)

contains【要素の検索】

リストの中に、指定した要素が入っているかいないかだけ調べたいときは

containsメソッドを利用します。

 

リスト変数.contains(検索したい要素名)

 

【例】
lists.add(“tennis”);
lists.add(“soccer”);
lists.add(“baseball”);
Sytesm.out.println(lists.contains(“tennis”));  //trueと表示されます。

 

要素数が必要ない場合は、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)を勉強している人の役に立てば、幸いです。

 

☟あわせて読みたい 「しう」のオススメブログ

あわせて読みたい
Javaで挫折しない勉強法は?【独学前に知っておきたいこと】 プログラミングの需要が高まっている今、Javaの勉強をしようとする人が増えています。   しかし、いざJavaの勉強をしようとしても、どうやって勉強したらいいかわから...
あわせて読みたい
Javaでの配列の使い方【「しう」の備忘録】 「しう」がJavaを勉強していて学んだことを書いています。 アウトプットをすることで、より定着しやすいと聞いたからです。   「しう」の備忘録的なものだと思ってくだ...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

【しう】
Java Engineer| 最近はKotlin| 「テニスとJava(プログラミング)のお悩み解決ラボ」運営者| プログラミング・開発現場の学びを主に発信|【経歴】受託系IT企業➪自社開発企業| ∮保有資格∮ : Java Silver,Oracle SQL Silver,基本情報,TOEIC 750,簿記3級

コメント

コメントする

CAPTCHA


目次