Java中的Map是一種常見的集合類型,它允許我們將鍵值對關聯起來,可以根據鍵快速查找對應的值。在Map的基礎上,TreeMap是一種有序的Map,它可以根據鍵的自然排序,或者根據傳入的比較器進行排序。下面我們分別來看一下Map和TreeMap的使用。
Map的使用
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); System.out.println(map.get("banana")); // 輸出 2 System.out.println(map.getOrDefault("dragonfruit", 4)); // 輸出 4,因為不存在key為dragonfruit的鍵值對 System.out.println(map.containsKey("cherry")); // 輸出 true System.out.println(map.containsValue(4)); // 輸出 false,因為不存在值為4的鍵值對
以上代碼首先創建了一個不帶類型參數的Map對象,然后通過put方法向其中添加鍵值對,使用get方法獲取指定鍵對應的值,使用getOrDefault方法獲取指定鍵對應的值,如果鍵不存在,則返回默認值。containsKey和containsValue方法分別用于判斷Map中是否包含指定的鍵或值。
TreeMap的使用
TreeMap<String, Integer> map = new TreeMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); System.out.println(map.firstKey()); // 輸出 apple,因為apple在所有key中排在最前面 System.out.println(map.lastEntry().getValue()); // 輸出 3,因為cherry是最后一個key,對應的值是3 System.out.println(map.ceilingKey("c")); // 輸出 cherry,因為c在所有key中排在cherry前面 System.out.println(map.tailMap("b").firstKey()); // 輸出 banana,因為b在所有key中排在apple后面
以上代碼創建了一個TreeMap對象,使用put方法添加鍵值對。firstKey和lastEntry方法分別返回第一個鍵和最后一個鍵值對,ceilingKey方法返回大于等于指定鍵的最小鍵,tailMap方法返回所有大于等于指定鍵的鍵值對。
通過Map和TreeMap的使用,我們可以方便地進行鍵值對的存儲、查找和排序操作,可以用于眾多應用場景中,例如索引、計數、統計等。