在java的Map集合中,怎样更改value的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java的Map集合中,怎样更改value的值?相关的知识,希望对你有一定的参考价值。
Map集合中如何在原来的工资基础上都增加30%?
map集合没有专门更改value的方法,更改value的方法就是map.put(key,value),更改就是直接替换,比如想改变key是"1",value是"一"的组合,就是map.put("1","壹"),直接替换就行。
import java.util.HashMap;
public class Demo
public static void main(String[] args)
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("张三", 89);
map.put("赵四", 100);
System.out.println(map);
if (map.containsKey("张三")) //判断如果存在 key ,就修改value
map.put("张三", 98);//修改
System.out.println("------分割线------");
System.out.println(map);
avaMap集合
Map集合没有继承Collection接口,,Map中不能包含相同的key值,每个key只能影射一个相同的value。key值还决定了存储对象在映射中的存储位置。
但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合包括Map接口以及Map接口所实现的类。
以上内容参考:百度百科-JavaMap集合
参考技术A修改map中的value只需要在此put对应key和新的value即可修改。
Map<String,String> maps = new HashMap<>();
maps.put("test","test");
System.out.println("key test ,vlaue : "+maps.get("test"));
maps.put("test","test1");
System.out.println("key test ,vlaue : " + maps.get("test"));
结果如下:
参考技术B public static void Test1()Map<String, Integer> m = new HashMap<String, Integer>();
m.put("1", 20);
m.put("2", 30);
Set<String> s = m.keySet();//获取KEY集合
for (String str : s)
m.put(str, (int) (m.get(str) * 1.3));
System.out.println(m.get("1") + " " + m.get("2"));
参考技术C value值乘以百分之三十。 参考技术D map.put(key, map.get(key)*1.3);
在java的Map集合中,怎样更改value的值
map集合没有专门更改value的方法,更改value的方法就是map.put(key,value),更改就是直接替换,比如想改变key是"1",value是"一"的组合,就是map.put("1","壹"),直接替换就行。
import java.util.HashMap;
import java.util.Map;
public class Demo
public static void main(String[] args)
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
m.put(1, 1);
print(m);
m.put(1, 2);
print(m);
private static void print(Map<Integer, Integer> m)
for(Map.Entry<Integer, Integer> mm : m.entrySet())
System.out.println("K: "+mm.getKey()+",V: "+mm.getValue());
扩展资料
集合类有一个共同特点,就是它们只容纳对象(实际上是对象名,即指向地址的指针)。这一点和数组不同,数组可以容纳对象和简单数据。如果在集合类中既想使用简单数据类型,又想利用集合类的灵活性,就可以把简单数据类型数据变成该数据类型类的对象,然后放入集合中处理,但这样执行效率会降低。
集合类容纳的对象都是Object类的实例,一旦把一个对象置入集合类中,它的类信息将丢失,也就是说,集合类中容纳的都是指向Object类对象的指针。
这样的设计是为了使集合类具有通用性,因为Object类是所有类的祖先,所以可以在这些集合中存放任何类而不受限制。当然这也带来了不便,这令使用集合成员之前必须对它重新造型。
集合类是Java数据结构的实现。在编写程序时,经常需要和各种数据打交道,为了处理这些数据而选用数据结构对于程序的运行效率是非常重要的。
参考技术Amap集合没有专门更改value的方法,更改value的方法就是map.put(key,value),更改就是直接替换,比如想改变key是"1",value是"一"的组合,就是map.put("1","壹"),直接替换就行。
import java.util.HashMap;
import java.util.Map;
public class Demo
public static void main(String[] args)
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
m.put(1, 1);
print(m);
m.put(1, 2);
print(m);
private static void print(Map<Integer, Integer> m)
for(Map.Entry<Integer, Integer> mm : m.entrySet())
System.out.println("K: "+mm.getKey()+",V: "+mm.getValue());
//供参考,重新放一个相同的key,会自动覆盖value的。
扩展资料:
Map集合没有继承Collection接口,Map中不能包含相同的key值,每个key只能影射一个相同的value.key值还决定了存储对象在映射中的存储位置,但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量。
参考资料来源:百度百科-JavaMap集合
参考技术B 你这个问题问的我也懵比了一瞬间,map集合没有专门更改value的方法,更改value的方法就是map.put(key,value),更改就是直接替换,比如想改变key是"1",value是"一"的组合,就是map.put("1","壹"),直接替换就行了 参考技术C import java.util.HashMap;import java.util.Map;
public class Demo
public static void main(String[] args)
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
m.put(1, 1);
print(m);
m.put(1, 2);
print(m);
private static void print(Map<Integer, Integer> m)
for(Map.Entry<Integer, Integer> mm : m.entrySet())
System.out.println("K: "+mm.getKey()+",V: "+mm.getValue());
//供参考,重新放一个相同的key,会自动覆盖value的。 参考技术D 要remove原来的key,然后put新的key和原值。
比如将key由1改成2,需要这样:
map.put(2,
map.remove(1));
不知道你说的动态删除是什么意思,能说清楚点么。
以上是关于在java的Map集合中,怎样更改value的值?的主要内容,如果未能解决你的问题,请参考以下文章