關聯數組以(鍵,值)對的形式儲存元素集。關聯數組包含唯一的鍵和值的集合,將每個鍵與單一值相關聯。 java中的關聯數組資料結構有利於廣泛的應用。與 Perl 和 PHP(使用雜湊變數)一樣,其他程式語言也實作了使用關聯數組資料結構的功能。由於關聯數組以(鍵,值)對的形式儲存元素,因此要存取關聯數組中的元素,我們需要呼叫數組的名稱和密碼(我們要存取其值)。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗例如,一個陣列(名稱為分數)儲存學生的學號和分數。要存取特定學生的分數,我們應該將此稱為marks[102],其中marks是一個數組名稱,而102是學生的rollno,而不是索引號,這在java.lang.String數組中是不可能的。因此,關聯數組在技術上在java中不支持,但可以使用java.util.HashMap類別實例的形式來實現。
文法:
Map <String, String> map = new HashMap <String, String>( ); // creates Map where keys and values of string type //method to store elements map.put( "key1", "value1" ); map.put( "key2", "value2" ); // etc // method to access value map.get( "key1" ); // returns "value1" as output
關聯數組的優點
使用關聯數組,我們可以將有意義的鍵分配給數組元素的值,保存更多元素,並將字串作為鍵分配給數組的元素。
我們透過下面的範例java程式碼來理解上述方法。要建立地圖,我們需要匯入允許使用地圖的實用程式。因此我們將導入 Map 和 HashMap 實用程式。以下是 Java 中實作關聯數組的範例:
遍歷關聯數組的各種方法
代碼:
import java.util.HashMap; public class Demo { public static void main(String[] args ) { HashMap <String, String> capitals = new HashMap <String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); // Remove an element from the HashMap capitals.remove("United Kingdom"); // To display size of the hashtmap System.out.println("The Size of capitals Map is : " + capitals.size()); // Check the existence of key in the Hashmap String key = "India"; if (capitals.containsKey( key )) { System.out.println("The capital of " + key + " is: " + capitals.get( key )); } else { System.out.println("There is no entry for the capital of " + key); } } }
輸出:
使用迭代器方法遍歷關聯數組
代碼:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); Iterator i = capitals.entrySet().iterator(); // Iterate through the hashmap while (i.hasNext()) { Map.Entry ele = (Map.Entry)i.next(); System.out.println(ele.getKey() + " : " + ele.getValue()); } } }
輸出:
使用 for-each 迴圈遍歷關聯數組
代碼:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); for (Map.Entry ele : capitals.entrySet()) { String key = (String)ele.getKey(); System.out.println(key + " : " + ele.getValue()); } } }
輸出:
使用 hashmap 的 forEach( ) 方法遍歷關聯陣列
代碼:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class DurationClassDemo { public static void main(String[] args) { HashMap<String, String> capitals = new HashMap<String, String>(); capitals.put("Spain", "Madrid"); capitals.put("United Kingdom", "London"); capitals.put("India", "Delhi"); capitals.put("Argentina", "Buenos Aires"); System.out.println("The Size of capitals Map is : " + capitals.size()); capitals.forEach((k, v) -> System.out.println(k + " : " + v )); } }
輸出:
簡單來說,java中的關聯數組將元素的集合儲存在一個鍵中;關聯數組中的值對是唯一鍵和值的集合,其中每個鍵與一個值關聯。我們可以使用 hashMap 內建的 java 類別來實作關聯數組,如上面的範例所示。
以上是Java 中的關聯數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!