一、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/n/291032.html
微信扫一扫
支付宝扫一扫