Set
保存順序は保持されず、オブジェクトを繰り返し保存できません.
インデックスが管理されていないため、インデックスをパラメータとして使用する方法はありません.
Setインタフェースで実装されたクラス
HashSet LinkedHashSet TreeSet Setインタフェースで実現する方法
機能方法説明オブジェクトboolean add(E)指定されたオブジェクトeを追加して他のオブジェクト検索boolean contains(Object o)指定されたオブジェクトを格納するかどうかを示し、boolean isEmpty()セットが空()で格納されているオブジェクトの総数を、戻りオブジェクト[]toArray(オブジェクト[]Array)配列のオブジェクト[]toArray(Object[]a)としてチェックする指定した配列に変換されたクラスタイプのオブジェクトを、配列に格納されているすべてのオブジェクトを削除します.
HashSet
内部使用HashMap
オブジェクトを順番なしに保存し、同じオブジェクトを繰り返し保存しない
保存するオブジェクトのハッシュコードを保存したオブジェクトのハッシュコードと比較し、同じ値がない場合はオブジェクトを追加します.
Set<E> set = new HashSet<E>();
LinkedHashSet
ハッシュ・テーブルへのデータの保存
格納順序によって順序が決まります.
追加順または最近アクセスした順でアクセス可能
test.collection.TestLinkedHashSet.java
01 package test.collection;
02
03 import java.util.LinkedHashSet;
04
05 public class TestLinkedHashSet {
06
07 public void testLinkedHashSet() {
08 LinkedHashSet<String> set = new LinkedHashSet<String>();
09
10 set.add("Java");
11 set.add("Oracle");
12 set.add("JDBC");
13 set.add("HTML5");
14
15 for(String text : set) {
16 System.out.println(text);
17 }
18 }
19 }
test.main.Main.java
01 package test.main;
02
03 import test.collection.TestLinkedHashSet;
04
05 public class Main {
06 public static void main(String[] args) {
07 new TestLinkedHashSet().testLinkedHashSet();
08 }
09 }
------
Java
Oracle
JDBC
HTML5
TreeSet
並べ替え機能が追加され、同じオブジェクトが重複して保存されません.
ソート順にアーカイブしてソート方法を指定できます
有効な範囲検索
赤と黒のツリー構造の使用
HashSetよりも性能的に遅いが、挿入位置合わせに使用する
test.collection.TestTreeSet.java
01 package test.collection;
02
03 import java.util.TreeSet;
04
05 public class TestTreeSet {
06 public void testTreeSet() {
07 TreeSet<String> tset = new TreeSet<String>();
08
09 tset.add("3. Mybatis");
10 tset.add("1. Java");
11 tset.add("5. HTML5");
12 tset.add("4. Oracle");
13 tset.add("2. JDBC");
14
15 for(String text : tset) {
16 System.out.println(text);
17 }
18 }
19 }
test.main.Main.java
01 package test.main;
02
03 import test.collection.TestTreeSet;
04
05 public class Main {
06 public static void main(String[] args) {
07 new TestTreeSet().testTreeSet();
08 }
09 }
------
1. Java
2. JDBC
3. Mybatis
4. Oracle
5. HTML5
Map
キーと値からなるエントリオブジェクトを格納します.キーと値はオブジェクトで、キーは重複できませんが、値は重複できます.既存のキーを使用して値を保存すると、その値は上書きされます.
Mapインタフェースによって実装されるクラス
HashMap Hashtable Properties Mapインタフェースで実装する方法
機能方法は、オブジェクトV put(Kキー、V値所与のキーおよび値)の追加オブジェクト検索V get(オブジェクトキー)所与のキーおよび値がboolean contains value(オブジェクトキー)所与の値Set