Java-Map類
4349 ワード
Mapクラス
Map:二列の集合は、主にキーパッドの対応関係があるデータを格納するためのインターフェースです.
Mapのいくつかのサブ実装クラス:HashMap,Hashtable,Linked HashMap,TreeMap
HashMap、Hashtableの違い:HashMapは同期されておらず、効率が高く、データが安全ではなく、Hashtableは同期されています.
Mapセットのデータ構造はキーだけと関係があります.
HashMap:下のデータ構造のハッシュ表、特徴:要素が無秩序であり、唯一、equalsとhashcodeを書き換える方法である.
常用方法:
public V put(key,value):データを追加して、初めて戻り値をnullに追加して、戻り値を前回の値に追加して、キーは同じで、値は上書きします.
public int size():集合長を取得する
public bootlean isEmpty():集合が空かどうかを判断する.
public bootlean containsKey:集合が指定キーを含むかどうかを判断する.
public bootlean containsValue:集合が指定値を含むかどうかを判断する.
public V get(key):キーの値から指定値を取得する.
public Set keySet():すべてのキーのセットを取得します.
public Set>entrySet():すべてのキーペアを取得し、対象セットのEntryには二つの方法があります.
public Collection values():すべての値の集合を取得する.
public void clear():すべての要素をクリアします.
public V remove(Key):キーの値からキーのペアを削除します.
関連コード:
size:2
isEmpty:false contains Key:false containsValue:false get:立華奏keySet:[公生、音無]values:[薫、立華奏]entrySet:[公生=薫、音無=立華奏]remove:薫[]
Linked HashMap:一番下のデータ構造はチェーンとハッシュテーブルであり、特徴:要素が唯一かつ整然としており、順序指定は格納と取り出しが一致している.
関連コード:
音无---立華奏公生---薫-------音無---立華奏公生---薫
TreeSet:最下層は赤と黒の木の構造で、特徴:要素が唯一で、またデータを並べ替えて、自然の並べ替えとコンパレータの並べ替えを行って、comprableインターフェースを実現することを要求して、compreTo方法を書き直します.しかし、TreeSetはnullキーを追加することができません.
関連コード:
1---null小薫---公生立華奏---音無
{Student[name=薫、age=20]=公生、Student[name=立華奏、age=20]=音無]
Map:二列の集合は、主にキーパッドの対応関係があるデータを格納するためのインターフェースです.
Mapのいくつかのサブ実装クラス:HashMap,Hashtable,Linked HashMap,TreeMap
HashMap、Hashtableの違い:HashMapは同期されておらず、効率が高く、データが安全ではなく、Hashtableは同期されています.
Mapセットのデータ構造はキーだけと関係があります.
HashMap:下のデータ構造のハッシュ表、特徴:要素が無秩序であり、唯一、equalsとhashcodeを書き換える方法である.
常用方法:
public V put(key,value):データを追加して、初めて戻り値をnullに追加して、戻り値を前回の値に追加して、キーは同じで、値は上書きします.
public int size():集合長を取得する
public bootlean isEmpty():集合が空かどうかを判断する.
public bootlean containsKey:集合が指定キーを含むかどうかを判断する.
public bootlean containsValue:集合が指定値を含むかどうかを判断する.
public V get(key):キーの値から指定値を取得する.
public Set keySet():すべてのキーのセットを取得します.
public Set>entrySet():すべてのキーペアを取得し、対象セットのEntryには二つの方法があります.
public Collection values():すべての値の集合を取得する.
public void clear():すべての要素をクリアします.
public V remove(Key):キーの値からキーのペアを削除します.
関連コード:
import java.util.HashMap;
public class HashMapDemo {
public static void main(String[] args) {
HashMap hm=new HashMap();
//
hm.put(" ", " ");
hm.put(" ", " ");
//
System.out.println("size:"+hm.size());
//
System.out.println("isEmpty:"+hm.isEmpty());
//
System.out.println("containsKey:"+hm.containsKey(" "));
//
System.out.println("containsValue:"+hm.containsValue(" "));
//
System.out.println("get:"+hm.get(" "));
// Set
System.out.println("keySet:"+hm.keySet());
//
System.out.println("values:"+hm.values());
// , Entry
結果:size:2
isEmpty:false contains Key:false containsValue:false get:立華奏keySet:[公生、音無]values:[薫、立華奏]entrySet:[公生=薫、音無=立華奏]remove:薫[]
Linked HashMap:一番下のデータ構造はチェーンとハッシュテーブルであり、特徴:要素が唯一かつ整然としており、順序指定は格納と取り出しが一致している.
関連コード:
import java.util.LinkedHashMap;
import java.util.Map.Entry;
import java.util.Set;
public class LinkedHashMapDemo {
public static void main(String[] args) {
LinkedHashMap lhm=new LinkedHashMap();
lhm.put(" ", " ");
lhm.put(" ", " ");
//map
// 1: Set
Set keySet = lhm.keySet();
for(String key:keySet){
System.out.println(key+"---"+lhm.get(key));
}
System.out.println("---------------------");
// 2: Set
Set> entrySet = lhm.entrySet();
for(Entry entry:entrySet){
System.out.println(entry.getKey()+"---"+entry.getValue());
}
}
}
結果:音无---立華奏公生---薫-------音無---立華奏公生---薫
TreeSet:最下層は赤と黒の木の構造で、特徴:要素が唯一で、またデータを並べ替えて、自然の並べ替えとコンパレータの並べ替えを行って、comprableインターフェースを実現することを要求して、compreTo方法を書き直します.しかし、TreeSetはnullキーを追加することができません.
関連コード:
import java.util.Set;
import java.util.TreeMap;
public class TreeSetDemo {
public static void main(String[] args) {
TreeMap tm=new TreeMap();
tm.put(" ", " ");
tm.put(" ", " ");
tm.put("1", null);
//String compareTo
Set keySet = tm.keySet();
for(String key:keySet){
System.out.println(key+"---"+tm.get(key));
}
}
}
結果:1---null小薫---公生立華奏---音無
import java.util.TreeMap;
public class TreeSetDemo {
public static void main(String[] args) {
TreeMap tm=new TreeMap();
tm.put(new Student(" ",20), " ");
tm.put(new Student(" ",20), " ");
System.out.println(tm);
}
}
結果:{Student[name=薫、age=20]=公生、Student[name=立華奏、age=20]=音無]