在java的Map集合中,怎样更改value的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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数据结构的实现。在编写程序时,经常需要和各种数据打交道,为了处理这些数据而选用数据结构对于程序的运行效率是非常重要的。

参考技术A

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());

//供参考,重新放一个相同的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的值的主要内容,如果未能解决你的问题,请参考以下文章

c++/STL/map中怎样获取map中第i个元素

java怎么判断map集合的值是多少?

c++/STL/map中怎样获取map中第i个元素

JAVA循环获取值

java Map集合中如何去比较整型的Value值得最小值

java 怎样通过hashmap的value得到key