注目記事

【Javaコード入門】コレクションフレームワーク_①コレクションフレームワーク

コレクションフレームワークとは、コレクション(オブジェクトの集合)を操作するために用意されたJava標準のAPIです。用途に応じて、リスト(List)、Set(セット)、Map(マップ)、Queue(キュー)といったインターフェイスを使い分けることができます。以下に、それぞれのインターフェイスに属する主な実装クラスをまとめます。コレクションフレームワークの実装クラスは、[実装スタイル][インターフェイス名]の形式で命名されています。

コレクションフレームワークの主な実装クラス
インターフェイス 実装クラス 概要
List ArrayList 可変長配列
LinkedList リンク構造のリスト
Set HashSet 要素の集合(順不同。重複は不可)
TreeSet 要素の集合(キーでソート。重複は不可)
Map HashMap 基本的なマップ
TreeMap キーにより要素をソートしたマップ
Queue(Dequeue) ArrayDeque 両端キュー

その他、Vector、Stack、Hashtableなどのクラスもありますが、これらはコレクションフレームワークが登場する以前に提供されていた古いクラスです。現在では利用すべきではありません。

 

Java 21以降では、コレクション内の要素を順序だてて管理するためのインターフェイスとしてSequencedCollection、SequencedMap、SequencedSetが追加されました。
これらSequencedXxxxxインターフェイスによって、実装関係からそのクラスが順序を持つかを判断することが簡単になります。
本稿で扱っているクラスとしては、ArrayList、LinkedList、ArrayDeque、TreeMapなどがSequencedXxxxx実装クラスです。

コレクションフレームワーク_目次
コレクションフレームワーク
コレクションを初期化する
synchronizedList/synchronizedMap/synchronizedSetメソッド
ArrayListクラス
asListメソッド
toArrayメソッド
LinkedList
HashMap
TreeMap
NavigableMap
HashSet
ArrayDeque

監修

山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。