コレクションとは?
状態:-
閲覧数:1,657
投稿日:2013-10-22
更新日:2013-10-28
・複数の要素の集まり
・「要素」であるオブジェクトのグループ
コレクションフレームワークとは?
・コレクションを操作したり管理するための統一的なアーキテクチャ
・オブジェクトの集合を扱うための仕組み
・インターフェースをベースとして設計されている
※Javaには、オブジェクトの集まりを扱うためのCollectionインターフェイスを実装したクラス(コレクションクラス)が20個以上あり、それぞれパフォーマンスと編成プロパティが異なる。例 … 要素の重複を許可する、許可しない。順序付けられている、順序付けられていない、など
コレクションフレームワークを利用するメリット
・コレクション操作に必要なコード量を減らすことがでる
コレクションフレームワークの種類
・6つの基本インターフェイスがある
・「Collection(リスト、セット)系」と「Map系」に分かれる
・「要素」であるオブジェクトのグループ
コレクションフレームワークとは?
・コレクションを操作したり管理するための統一的なアーキテクチャ
・オブジェクトの集合を扱うための仕組み
・インターフェースをベースとして設計されている
※Javaには、オブジェクトの集まりを扱うためのCollectionインターフェイスを実装したクラス(コレクションクラス)が20個以上あり、それぞれパフォーマンスと編成プロパティが異なる。例 … 要素の重複を許可する、許可しない。順序付けられている、順序付けられていない、など
コレクションフレームワークを利用するメリット
・コレクション操作に必要なコード量を減らすことがでる
コレクションフレームワークの種類
・6つの基本インターフェイスがある
・「Collection(リスト、セット)系」と「Map系」に分かれる
コレクションフレームワーク … Collection系
継承関係
Iterable > Collection > List
Iterable > Collection > Set > SortedSet
スーパーインターフェイス
すべてのスーパーインターフェイス
・Iterable<E>
第1階層
サブインターフェイス(第1階層)
Collection<E>
・Listインタフェース、Setインタフェースのスーパーインタフェース
・コレクション・フレームワークにおける共通機能を定義
第2階層
サブインターフェイス(第2階層)
List<E>
・格納される要素において、順番を持つインタフェース
・インデックス番号により、要素を操作するメソッドを定義
Set<E>
・格納される要素において、重複を許可しないインタフェース
・重複要素を持たせたくない場合に使用
第3階層
サブインターフェイス(第3階層)
SortedSet<E>
・Setインタフェースを継承
・Setインタフェースの特性に加え、要素をルールに基づきソートするという特性を持つ
コレクションフレームワーク … Map系
継承関係
Map > SortedMap
スーパーインターフェイス
すべてのスーパーインターフェイス
Map<K,V>
・格納される要素において、順番を持つインタフェース
・インデックス番号により、要素を操作するメソッドを定義
第1階層
サブインターフェイス(第1階層)
SortedMap<E>
・Mapインタフェースを継承
・Mapインタフェースの特性に加えて、キーをルールに基づきソートするという特性を持つ
「T」「E」などの型パラメータ名
型パラメータ名
プログラムを読む人が分かりやすいようなものにするのが定石
・単なる記号みたいなもの
・どう表現しても良い
コレクション系インターフェイスを実装したクラス一覧
コレクション系
・コレクション系インターフェイスを実装したクラス一覧
インターフェイス | インターフェイス | インターフェイス | インターフェイス | 実装クラス |
---|---|---|---|---|
Iterable | Collection | List | - | ArrayList |
〃 | 〃 | 〃 | - | LinkedList |
〃 | 〃 | Set | - | HashSet |
〃 | 〃 | 〃 | - | LinkedHashSet |
〃 | 〃 | 〃 | SortedSet | TreeSet |
マップ系
・マップ系インターフェイスを実装したクラス一覧
インターフェイス | インターフェイス | 実装クラス | |
---|---|---|---|
Map | - | HashMap | - |
〃 | - | LinkedHashMap | |
〃 | SortedMap | TreeMap |