Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類參考

Java 有用資源

Java - LinkedHashMap 類



此類擴充套件 HashMap 並維護對映中條目的連結列表,按照插入的順序排列。這允許按插入順序迭代對映。也就是說,當迭代 LinkedHashMap 時,元素將按插入的順序返回。

您還可以建立一個 LinkedHashMap,它按最後訪問的順序返回其元素。

以下是 LinkedHashMap 類支援的建構函式列表。

序號 建構函式和說明
1

LinkedHashMap( )

此建構函式構造一個預設的 LinkedHashMap。

2

LinkedHashMap(Map m)

此建構函式使用給定 Map 類m中的元素初始化 LinkedHashMap。

3

LinkedHashMap(int capacity)

此建構函式使用給定的容量初始化 LinkedHashMap。

4

LinkedHashMap(int capacity, float fillRatio)

此建構函式初始化容量和填充比率。容量和填充比率的含義與 HashMap 相同。

5

LinkedHashMap(int capacity, float fillRatio, boolean Order)

此建構函式允許您指定元素是否按插入順序或最後訪問順序儲存在連結列表中。如果 Order 為 true,則使用訪問順序。如果 Order 為 false,則使用插入順序。

除了從其父類繼承的方法外,LinkedHashMap 還定義了以下方法:

序號 方法和說明
1

void clear()

從此對映中刪除所有對映。

2

boolean containsKey(Object key)

如果此對映將一個或多個鍵對映到指定值,則返回 true。

3

Object get(Object key)

返回此對映將指定鍵對映到的值。

4

protected boolean removeEldestEntry(Map.Entry eldest)

如果此對映應刪除其最舊的條目,則返回 true。

示例

以下程式說明了此集合支援的幾種方法:

import java.util.*;
public class LinkedHashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      LinkedHashMap lhm = new LinkedHashMap();
      
      // Put elements to the map
      lhm.put("Zara", new Double(3434.34));
      lhm.put("Mahnaz", new Double(123.22));
      lhm.put("Ayan", new Double(1378.00));
      lhm.put("Daisy", new Double(99.22));
      lhm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = lhm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)lhm.get("Zara")).doubleValue();
      lhm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + lhm.get("Zara"));
   }
}

這將產生以下結果:

輸出

Zara: 3434.34
Mahnaz: 123.22
Ayan: 1378.0
Daisy: 99.22
Qadir: -19.08

Zara's new balance: 4434.34
java_collections.htm
廣告