コレクションとは
様々なデータ構造に対応した「データをまとめて格納するための」 入れ物クラスのこと
List
- ArrayList
LinkedList
ArrayListもLinkedListも、ざっくり見れば同じリスト。 どちらもjava.util.Listインタフェースを実装している。 兄弟のようなもの
ArrayListの宣言 ArrayList<⭐️> 変数名 = new ArrayList<⭐️>(); ⭐️の部分にはArrayListに格納するインスタンスの型名を指定する 右辺のインスタンス型名は省略可能
ArrayListのサンプルコード
package collection; //ArrayListを使って見よう //import文を記述 import java.util.ArrayList; public class Main { public static void main(String[] args) { //ArrayListの型にIntのラッパークラスIntegerを指定 ArrayList<Integer> points = new ArrayList<Integer>(); //自動的にIntegerに変換・格納される points.add(10); points.add(80); points.add(75); //ArrayListは拡張for文も利用可能 for (int i : points) { System.out.println(i); } } }
Set
- hashSet
- LinkedHashSet
Tree Set
Setの特性 複数の情報を重複なく格納する集合(セット)というデータ構造を 実現するためのもの
Map
- HashMap
- LinkedhashMap
TreeMap
Mapの特性 Mapとは、2つの情報をキーバリューのペアとして格納する データ構造。連想配列のようなもの
HashMapクラス
Mapインタフェースの実装の中でも特に多く利用される
HashMapのインスタンス化 Map<キーの型,値の型> マップ変数 = new HashMap<キーの型,値の型>();
Mapではキーの重複は許されない
package collection; import java.util.Map; public class Main { public static void main(String[] args) { //HashMapのインスタンス化 Map<String, Integer> prefs = new java.util.HashMap<String,Integer>(); //ペアで値を格納 prefs.put("京都府",255 ); prefs.put("東京都",1261 ); prefs.put("熊本空港",181 ); //キーを指定し値を取得 int tokyo = prefs.get("東京都"); System.out.println("東京:" + tokyo); //要素の削除 prefs.remove("京都府"); //値の上書き prefs.put("熊本空港", 182); int kumamoto = prefs.get("熊本空港"); System.out.println("熊本空港:" + kumamoto); } }
Mapに格納された情報を1つずつ取り出すサンプル
package collection; import java.util.Map; public class Main { public static void main(String[] args) { //HashMapのインスタンス化 Map<String, Integer> prefs = new java.util.HashMap<String,Integer>(); //ペアで値を格納 prefs.put("京都府",255 ); prefs.put("東京都",1261 ); prefs.put("熊本空港",181 ); //キーを指定し値を取得 int tokyo = prefs.get("東京都"); System.out.println("東京:" + tokyo); //要素の削除 prefs.remove("京都府"); //値の上書き prefs.put("熊本空港", 182); //mapに格納された情報を1つずつ取り出す for (String key : prefs.keySet()) { int value = prefs.get(key); System.out.println(key + "の人口は" + value); } } }