在Java編程語言中,Map和Set是常用的數據結構,它們用于存儲“鍵值對”和“不重復元素”。
// Map示例 Mapmap = new HashMap<>(); map.put("Alice", 25); map.put("Bob", 30); map.put("Charlie", 35); int age = map.get("Bob"); // 獲取Bob的年齡 for(String name : map.keySet()) { System.out.println(name + " is " + map.get(name) + " years old."); } // Set示例 Set set = new HashSet<>(); set.add("apple"); set.add("banana"); set.add("orange"); set.add("banana"); // 重復元素不會被添加 System.out.println(set.size()); // 輸出3,即元素個數 for(String fruit : set) { System.out.println(fruit); }
Map和Set的實現類有多種,例如HashMap和HashSet是最常用的。它們的內部實現基于哈希表,因此可以快速地進行查找、插入和刪除操作。
但需要注意的是,HashSet并不能保證元素的順序,如果需要保證順序,則需要使用LinkedHashSet。同樣地,HashMap也沒有保證元素的順序,如果需要保證順序,則需要使用LinkedHashMap。
在使用Map和Set時,需要注意“鍵”的唯一性。如果有多個相同的鍵,則后面的鍵將會覆蓋前面的鍵。例如:
Mapmap = new HashMap<>(); map.put("Alice", 25); map.put("Bob", 30); map.put("Charlie", 35); map.put("Charlie", 40); System.out.println(map.get("Charlie")); // 輸出40
除了基本的操作,Map和Set還有一些高級用法,例如枚舉(EnumMap和EnumSet)、排序(TreeMap和TreeSet)等等。在實際的開發中,需要根據具體的需求選擇合適的數據結構。