一緒に書く習慣を身につけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して17日目です。クリックしてイベントの詳細をご覧ください。
Javaのマップインターフェイスと実装クラス
必須:Mapインターフェースとその実装クラスの特性、および関連するメソッドの使用法を習得します。
Mapコレクションの主な機能:
1:機能を追加する
V put(Kキー、V値):要素を追加します。
キーを初めて保存する場合は、要素を直接保存してnullを返します
キーが初めて保存されない場合は、前の値を値に置き換えて、前の値を返します
2:削除機能
void clear():すべてのキーと値のペア要素を削除します
V remove(Object key):キーに応じてキーと値のペア要素を削除し、値を返します
3:判断機能
boolean containsKey(Object key):コレクションに指定されたキーが含まれているかどうかを判別します
boolean containsValue(Object value):コレクションに指定された値が含まれるかどうかを判別します
boolean isEmpty():コレクションが空かどうかを判別します
4:関数を取得する
Set <Map.Entry <K、V >> entrySet():???
V get(Object key):キーに応じた値を取得します
Set <K> keySet():セット内のすべてのキーのセットを取得します
Collection <V> values():コレクション内のすべての値のコレクションを取得します
5:長さ関数
int size():コレクション内のキーと値のペアの対数を返します
Mapコレクションの要素をトラバースする方法:
アイデア:
(1):
A:すべてのキーを取得します
B:キーのセットをトラバースして、各キーを取得します
C:キーに従って値を見つけます
(2):
A:すべてのキーと値のペアオブジェクトのコレクションを取得します
B:キーと値のペアのオブジェクトのコレクションをトラバースして、各キーと値のペアのオブジェクトを取得します
C:キーと値のペアオブジェクトからキーと値を取得します
HashMapコレクション:
HashMap:ハッシュテーブルに基づくMapインターフェースの実装です。
ハッシュテーブルの役割は、キーの一意性を確保することです。
HashMap <String、String>:键:String值:String
Key-Value重複オブジェクトの追加を観察します:カバレッジ
HashMapコレクションはカスタムオブジェクトを格納し、要素の一意性を保証します。
HashMap <c1、String>:キー:c1値:文字列
要件:メンバー変数の値が同じである場合、2つのオブジェクトは同じオブジェクトです。
equals()とhashCode()をオーバーライドします
TreeMapコレクション:
TreeMap:赤黒木に基づくMapインターフェースの実装です。
HashMap <String、String>:键:String值:String
自然順:
比較可能なインターフェイスは、compareTo(Object obj)という1つのメソッドのみを提供します。このメソッドの戻り値はintです。戻り値が正の数の場合は、現在のオブジェクト(このメソッドを呼び出すオブジェクト)がobjオブジェクトよりも「大きい」ことを意味します。それ以外の場合は「小さい」ことを意味します。ゼロの場合は、2つのオブジェクトを意味します。は同じ。
TreeSet自然ソートメソッドを使用する場合は、Comparableインターフェイスを実装し、ジェネリック型に現在のオブジェクトクラスとして注釈を付けてから、compareTo()メソッドをオーバーライドする必要があります。
compareToメソッドの使用方法:
@override
public int compareTo(类名 形参){
return 形参.返回int类型的方法 - this.与前面相同的方法;
//从大到小排序。若从小到大只需交换减数与被减数
}
复制代码
コンパレータの並べ替え:
重要:TreeSetコンパレータの並べ替えメソッドを使用する場合、Comparableインターフェイスを実装する必要はありません。新しいTreeSetを作成するときに、compareToメソッドをオーバーライドするために匿名内部クラスのみを使用してください。このメソッドは、オブジェクトクラスがJava内部クラスまたは変更する権限を持たない他のクラスである場合に使用できます。効果は自然順と同じです。compareToメソッドをオーバーライドするときは、2つのパラメータープロパティが減算される順序に注意してください。
c1 = new TreeSet (new Comparator(){
//使用匿名内部类
@Override
public int compare(c1 o1, c1 o2) {
return o1.get() - o2.get();
}
});
复制代码