#7 Javaで学ぶ配列の基本

Javaには、複数の値をまとめて扱うデータ構造として、「配列」と「ArrayList」という2種類の仕組みがあります。この記事では、それぞれの違いと基本的な使い方を解説します。

配列(固定長)

Javaの配列は、大きさがあらかじめ決まっていて、後から変更できません。

String[] fruits = {"りんご", "みかん", "ぶどう"};
System.out.println(fruits.length); // 3

ArrayList(可変長)

大きさを自由に変えたい場合は、ArrayListというクラスを使います。

import java.util.ArrayList;

ArrayList fruits = new ArrayList<>();
fruits.add("りんご");
fruits.add("みかん");

値の追加にはadd()、削除にはremove()を使います。

要素にアクセスする・繰り返す

配列はfruits[0]のように角かっこで、ArrayListはfruits.get(0)のように専用のメソッドでアクセスします。この書き方の違いは、Java初心者が混同しやすいポイントです。

for (String fruit : fruits) {
    System.out.println(fruit);
}

for-each文はどちらに対しても同じ書き方で使えます。

Stream APIで加工する

比較的新しいJavaでは、ArrayListの中身を条件で絞り込んだり変換したりする際、Stream APIという機能がよく使われます。

import java.util.stream.Collectors;

List longNames = fruits.stream()
    .filter(f -> f.length() > 2)
    .collect(Collectors.toList());

Javaならではの注意点

配列は基本的なデータ型(intなど)も直接格納できますが、ArrayListは基本的にIntegerのような「オブジェクト版」の型しか扱えません。用途に応じて、固定長で高速な配列を使うか、柔軟なArrayListを使うかを選びましょう。実際の開発では、要素数が実行時まで分からない場面がほとんどのため、ArrayListを使う場面のほうが多くなります。

まとめ

Javaには固定長の配列と可変長のArrayListがあり、アクセスの書き方がそれぞれ異なります。値を追加・削除する可能性があるならArrayListを選び、加工にはStream APIも活用しましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Javaをもっと学びたい方には「スッキリわかるJava入門 第4版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本