実際には、JDK ライブラリによって提供されるすぐに使えるデータ構造があります。このLinkedHashMap
コンストラクターを見ると、次のようになります。
/**
* Constructs an empty <tt>LinkedHashMap</tt> instance with the
* specified initial capacity, load factor and ordering mode.
*
* @param initialCapacity the initial capacity
* @param loadFactor the load factor
* @param accessOrder the ordering mode - <tt>true</tt> for
* access-order, <tt>false</tt> for insertion-order
* @throws IllegalArgumentException if the initial capacity is negative
* or the load factor is nonpositive
*/
public LinkedHashMap(int initialCapacity,
float loadFactor,
boolean accessOrder) {
super(initialCapacity, loadFactor);
this.accessOrder = accessOrder;
}
余分なパラメータがありますaccessOrder
。これに基づいて、新しく追加されたオブジェクトがリストの最後に移動されるaccessOrder - true
か ( )、元の場所に残ります ( accessOrder - false
)。
これらの特性を持つを作成するにはSet
、次のファクトリ メソッドを使用する必要がありますjava.util.Collections
。newSetFromMap(LinkedHashMap(initialCapacity, loadFactor, accessOrder))
プロパティは、指定された要素とのすべてのaccessOrder
相互作用を担当することに注意してください-それを呼び出すと、並べ替えも行われます(インターフェイスはラップされたメソッドを公開しないため、とにかく影響することはありません) .get
HashMap
Set
get
HashMap