Java HashMap HashMap 是一種哈希表,它存儲鍵值對。鍵用於查找值,就像數組中的索引一樣。HashMap 的優勢在於它可以使用任何類型作為鍵,並且查找速度很快。 創建 HashMap // 導入 HashMap 類 import java.util.HashMap; public c ...
Java HashMap
HashMap
是一種哈希表,它存儲鍵值對。鍵用於查找值,就像數組中的索引一樣。HashMap
的優勢在於它可以使用任何類型作為鍵,並且查找速度很快。
創建 HashMap
// 導入 HashMap 類
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 創建一個名為 capitalCities 的 HashMap 對象,將存儲 String 鍵和 String 值
HashMap<String, String> capitalCities = new HashMap<>();
}
}
添加項目
// 添加鍵和值(國家,城市)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
訪問項目
// 獲取 England 的首都
String capitalOfEngland = capitalCities.get("England");
刪除項目
// 刪除 England 的首都
capitalCities.remove("England");
HashMap 大小
// 獲取 HashMap 中的項目數量
int size = capitalCities.size();
迴圈遍歷 HashMap
// 遍歷 HashMap 並列印鍵和值
for (String key : capitalCities.keySet()) {
String value = capitalCities.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
使用其他類型
HashMap
可以存儲任何類型的鍵和值。例如,您可以存儲 Integer
鍵和 String
值:
// 創建一個名為 people 的 HashMap 對象,將存儲 Integer 鍵和 String 值
HashMap<Integer, String> people = new HashMap<>();
// 添加鍵和值(ID,姓名)
people.put(1, "John Doe");
people.put(2, "Jane Doe");
// 獲取 ID 為 1 的姓名
String name = people.get(1);
HashMap
是一種強大的數據結構,可用於存儲各種類型的數據。它具有快速查找速度和靈活的鍵值對存儲機制,使其成為許多應用程式的理想選擇。
HashMap 的優勢:
- 快速查找速度
- 可以存儲任何類型的鍵和值
- 靈活的鍵值對存儲機制
HashMap 的劣勢:
- 不是線程安全的
- 可能會出現哈希碰撞
建議:
- 如果需要快速查找數據,請使用
HashMap
。 - 如果需要線程安全的數據結構,請使用
ConcurrentHashMap
。 - 如果需要避免哈希碰撞,請使用
LinkedHashMap
。
Java HashSet
HashSet
是一個無序集合,其中每個元素都是唯一的。它基於哈希表實現,因此查找速度很快。
創建 HashSet
// 導入 HashSet 類
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// 創建一個名為 cars 的 HashSet 對象,將存儲字元串
HashSet<String> cars = new HashSet<>();
}
}
添加項目
// 添加項目
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW"); // 不會重覆添加
cars.add("Mazda");
// 查看 HashSet
System.out.println(cars);
檢查項目是否存在
// 檢查項目是否存在
boolean isPresent = cars.contains("Mazda");
// 輸出結果
System.out.println("Mazda 在 HashSet 中嗎? " + isPresent);
刪除項目
// 刪除項目
cars.remove("Volvo");
// 查看 HashSet
System.out.println(cars);
HashSet 大小
// 獲取 HashSet 大小
int size = cars.size();
// 輸出結果
System.out.println("HashSet 大小:" + size);
迴圈遍歷 HashSet
// 迴圈遍歷 HashSet
for (String car : cars) {
System.out.println(car);
}
使用其他類型
HashSet
可以存儲任何類型的元素。例如,您可以存儲 Integer
元素:
// 創建一個名為 numbers 的 HashSet 對象,將存儲整數
HashSet<Integer> numbers = new HashSet<>();
// 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);
// 迴圈遍歷 HashSet
for (int number : numbers) {
System.out.println(number);
}
HashSet
是一種非常有用的數據結構,可用於存儲各種類型的數據。它具有快速查找速度和無序的特點,使其成為許多應用程式的理想選擇。
HashSet 的優勢:
- 快速查找速度
- 無序,可以更快地添加和刪除元素
- 允許存儲任何類型的元素
HashSet 的劣勢:
- 不保留元素的插入順序
- 可能會出現哈希碰撞
建議:
- 如果需要快速查找數據並且不需要保留元素的插入順序,請使用
HashSet
。 - 如果需要保留元素的插入順序,請使用
LinkedHashSet
。 - 如果需要避免哈希碰撞,請使用
TreeMap
。
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關註