一、HashMap修改value值代碼
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 修改value值 map.put("a", 4);
HashMap是Java中常用的數據結構之一,它提供了大部分基本的映射操作,包括添加、獲取、刪除、遍歷等。HashMap允許使用null作為key或value,以及任意數量的null值,但是存儲的鍵值對是無序的。我們可以使用put方法向HashMap中添加鍵值對,使用get方法從HashMap中獲取鍵所對應的值。
如果我們需要修改已經存在的鍵值對中的value值,只需要使用put方法將新的value值賦給相應的key即可。
二、HashMap獲取value值
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 獲取value值 int a = map.get("a");
通過get方法可以獲取HashMap中某個key對應的value值。如果key不存在,get方法會返回null。
三、HashMap修改值
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 修改value值 Integer oldValue = map.replace("a", 4);
除了使用put方法來修改值之外,我們還可以使用replace方法來實現。replace方法會將指定key的value值替換為新值,並返回舊的value值。如果key不存在,replace方法會返回null。
四、HashMap以value排序
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 將map按照value排序 List<Map.Entry> list = new ArrayList(map.entrySet()); Collections.sort(list, (o1, o2) -> o1.getValue().compareTo(o2.getValue())); // 輸出排序後的map for (Map.Entry entry : list) { System.out.println(entry.getKey() + ": " + entry.getValue()); }
如果我們需要按照value值對HashMap進行排序,可以將鍵值對全部轉換為list,然後使用Collections.sort方法對list進行排序。可以使用匿名函數或Lambda表達式指定排序的方式。
五、HashMap根據value排序
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 使用鏈表記錄排序後的鍵 List keys = new LinkedList(); // 獲取map中的entry集合 Set<Map.Entry> entrySet = map.entrySet(); // 定義比較器 Comparator<Map.Entry> valueComparator = Comparator.comparing(Map.Entry::getValue); // 對entry集合排序 entrySet.stream().sorted(valueComparator).forEachOrdered(entry -> keys.add(entry.getKey())); // 輸出排序後的keys for (String key : keys) { System.out.println(key + ": " + map.get(key)); }
另一種根據value排序的方式是,首先使用entrySet方法獲取HashMap中所有的鍵值對,然後利用stream對鍵值對集合進行排序。這裡使用了Comparator.comparing方法指定排序的比較器,以及forEachOrdered方法保證元素按照順序輸出。
六、獲取map的value值
HashMap map = new HashMap(); map.put("a", 1); map.put("b", 2); map.put("c", 3); // 獲取所有value值 Collection values = map.values();
如果我們需要獲取HashMap中所有的value值,可以使用values方法。
values返回一個包含所有value值的集合,如果HashMap為空,則返回空集合。我們可以通過遍歷集合來獲取所有的value值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291032.html