如何在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表示式來執行列印任務,從而簡化了該過程。本文描述了兩種方法。這兩種方法都很有效,並能產生預期的結果。選擇最適合您的編碼需求和偏好的選項。