Java Map 和 C 語言中的 Map 對于數據的操作有很多相似之處。
// C 中的 Map 實現 #define MAP_SIZE 1000 // Map 大小 struct KeyValue { int key; int value; }; KeyValue* map[MAP_SIZE]; int hash(int key) { return key % MAP_SIZE; } void put(int key, int value) { int index = hash(key); if (!map[index]) { map[index] = new KeyValue; } map[index]->key = key; map[index]->value = value; } int get(int key) { int index = hash(key); if (!map[index]) { return -1; } return map[index]->value; }
上面是一個簡單的 C 語言實現的 Map,通過哈希算法實現了鍵值對的操作。下面是同樣功能的 Java Map 代碼。
// Java 中的 Map 實現 Mapmap = new HashMap<>(); void put(int key, int value) { map.put(key, value); } int get(int key) { if (!map.containsKey(key)) { return -1; } return map.get(key); }
Java Map 與 C 語言的 Map 在實現上存在差異,但是其底層的數據結構都是哈希表,都支持鍵值對的操作。在使用時我們可以根據具體需求選擇適合自己的操作方式。