如何在Java中列印LinkedHashMap的所有對映?


在Java中,LinkedHashMap是一個流行的資料結構,它結合了雙向連結串列和雜湊對映的優點。由於它保留了插入順序,因此元素的檢索順序與新增順序相同。當我們需要以指定的順序迭代鍵值對時,LinkedHashMap尤其有用。在我們需要列印LinkedHashMap中包含的所有對映的情況下,可以使用幾種方法。在本文中,我們將研究兩種在Java中有效列印所有LinkedHashMap對映的不同方法,每種方法都有其自身的優勢和示例程式碼。

方法

  • 利用entrySet()方法。

  • 利用forEach()方法。

讓我們來看看這兩種方法:

方法一:利用entrySet()方法。

LinkedHashMap類提供的entrySet()函式是釋出LinkedHashMap中所有對映的初始方法。此過程的結果是Map的一個集合。LinkedHashMap中的鍵值對包含在entry物件中。透過迭代此集合,我們可以輕鬆訪問並顯示每個對映。

此方法從LinkedHashMap中獲取entry集合,並使用for-each迴圈進行迭代。我們分別使用getKey()和getValue()方法獲取每個條目的鍵和值。透過在迴圈中顯示鍵值對,可以檢視LinkedHashMap中的所有對映。

演算法

步驟一:匯入所需的包。

步驟二:建立LinkedHashMap物件。

步驟三:插入LinkedHashMap鍵值對。

步驟四:利用entrySet()函式獲取所有鍵值對映的集合。

步驟五:迭代該集合。

步驟六:列印集合中每個條目的鍵和值。

示例

//import the required package
import java.util.LinkedHashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        // Create a LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();

        // Insert key-value pairs
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);

        // Print all mappings with the help of entrySet()
        for (Map.Entry<String, Integer> entry : linkedHashMap.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }
    }
}

輸出

Key: Pen, Value: 10
Key: Rubber, Value: 5
Key: Paper, Value: 8
Key: File, Value: 20

方法二:利用forEach()方法。

隨著Java 8的引入,LinkedHashMap類添加了forEach()方法,使我們可以快速對每個鍵值對執行操作。此方法使用lambda表示式和forEach()方法來輸出LinkedHashMap中的每個對映。

在此方法中,直接呼叫LinkedHashMap物件的forEach()方法。我們在lambda表示式中定義列印邏輯,其中我們連線鍵和值以獲得所需的輸出。由於它消除了顯式迭代迴圈的需要,因此當我們希望採用更簡潔和函式式編碼風格時,此方法非常有用。

演算法

步驟一:匯入必要的包,然後建立名為Main的類。構造一個LinkedHashMap物件。

步驟二:向LinkedHashMap新增鍵值對。

步驟三:使用forEach()方法迭代每個條目。

步驟四:最後列印每個條目的鍵和值。

示例

//import the required package
import java.util.LinkedHashMap;

public class Main {

    public static void main(String[] args) {
        // Create a LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();

        // Insert key-value pairs
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);

        // Print all mappings one by one
        linkedHashMap.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
    }
}

輸出

Key: Pen, Value: 10
Key: Rubber, Value: 5
Key: Paper, Value: 8
Key: File, Value: 20

結論

可以使用Java中的entrySet()方法或forEach()方法來列印LinkedHashMap中的每個對映。使用entrySet()方法提供的鍵值對映,我們可以迭代每個條目並報告所需的結果。另一方面,forEach()方法透過接受lambda表示式來執行列印任務,從而簡化了該過程。本文描述了兩種方法。這兩種方法都很有效,並能產生預期的結果。選擇最適合您的編碼需求和偏好的選項。

更新於: 2023年8月25日

413 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告