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

作者&投稿:蓍婕 (若有异议请与网页底部的电邮联系)
在java的Map集合中,怎样更改value的值~

使用put(key,value) 就可以更改value的值.
如果key是不存在的, 那么put(key,value) 就会添加一条数据.
参考代码
import java.util.HashMap;public class Demo {public static void main(String[] args) {HashMap map = new HashMap();map.put("张三", 89);map.put("赵四", 100);System.out.println(map);if (map.containsKey("张三")) {//判断如果存在 key ,就修改valuemap.put("张三", 98);//修改}System.out.println("------分割线------");System.out.println(map);}}运行结果
{张三=89, 赵四=100}------分割线------{张三=98, 赵四=100}

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 map = new HashMap();
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集合

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数据结构的实现。在编写程序时,经常需要和各种数据打交道,为了处理这些数据而选用数据结构对于程序的运行效率是非常重要的。



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集合



你这个问题问的我也懵比了一瞬间,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的。

要remove原来的key,然后put新的key和原值。
比如将key由1改成2,需要这样:
map.put(2,
map.remove(1));
不知道你说的动态删除是什么意思,能说清楚点么。


java中hashmap和treemap的区别
Java中HashMap和TreeMap的区别 什么是Map集合在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对。HashMap 非线程安全 TreeMap 非线程安全 1、多个thread对同一个java实例的访问(read和modify)...

在java中集合List,Set,Map,Properties的区别?
List接口是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。Set接口:定义一个不包含重复元素的规则。添加时候是没有顺序的。Map接口:将键映射到值。一个映射不能包含重复的键,每个键最多只能映射到一个值。Properties类是HashTable(实现了Map接口)的子类。HashTable是同步的。

Java中Set、List、Map集合类(接口)的特点及区别。分别有哪些常用实现...
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变;List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变;Map:适合储存键值对的数据。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、...

JAVA中几种集合(List、Set和Map)的区别
Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap.总结...

Java中遍历Map对象的4种方法是什么?
Java中遍历Map对象的4种方法:1、通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时。2、通过Map.keySet遍历key,通过键找值value遍历(效率低),普遍使用,二次取值。3、如果只需要map中的键或者值,你可以通过Map.keySet或Map.values来实现遍历,而不是用...

java怎么判断map集合的值是多少?
map集合是以键值对的方式进行存储的,Map<key,value>,因此需要获取某个特定的key对应的value值必须获取到key,根据map.get(key)来获取对应的value;如果不知道key必须通过自己判断来获取对应value,可用map.keyset获取key的set<key>集合,然后用iterator遍历集合set获取每一个key值,并map.get(key)获取...

在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) {...

求java里面的Hash<Map>的用法和基本解释,谢谢
上面程序中还调用了 addEntry(hash, key, value, i); 代码,其中 addEntry 是 HashMap 提供的一个包访问权限的方法,该方法仅用于添加一个 key-value 对。下面是该方法的代码: Java代码 void addEntry(int hash, K key, V value, int bucketIndex) { \/\/ 获取指定 bucketIndex 索引处的 Entry Entry<...

java中map集合能不能存另两个集合
java中map集合能放另外两个集合,主要是使用map的putall集合,加入另一个集合,如下代码:import java.util.HashMap;import java.util.Map;public class ceshi {public static void main(String[] args) {Map map1 = new HashMap();map1.put("key1", "values1");Map map2 = new HashMap()...

java中常用的集合接口有哪些
Map接口有三个实现类:HashMap,HashTable,LinkeHashMap HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null SortedMap有一个实现类:TreeMap 其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对 set 一般无序不重复.map kv 结构 list 有...

轮台县19233226558: 在java的Map集合中,怎样更改value的值 -
用清耐乐: Map m = new HashMap(); m.put("name","tom"); 这样插入数据,也可以修改数据

轮台县19233226558: java怎么修改map中存放的数组的值 -
用清耐乐: 重新put就可以,前提是你知道key Map map = new HashMap(); map.put("key", "123456789"); System.out.println("第一次赋值="+map.get("key")); map.put("key", "ABCDEFGHIJK"); System.out.println("第二次赋值="+map.get("key")); 第一次赋值

轮台县19233226558: 请教大神java如何修改list中map的值 -
用清耐乐: 因为map.put("id", i)操作的意义在于 如果map中没有key="id"则添加key="id",对应的value值为i 如果map中已经存在了key="id"的元素,则重新为key="id"对应的value赋新的i值..----------------惭愧的分割线---------------------- 汗乌龙了..没...

轮台县19233226558: java中怎么才能替换Map集合中的健和值,只能有一个健和值 -
用清耐乐: 直接put(key,value),如果key相同的话,会覆盖原来的键值对,若果key不相同,那么remonv之前的键值对好了

轮台县19233226558: java中map怎么根据key值修改value值 -
用清耐乐: Map是不可重复集合,相同的key第二次装载值的时候会直接覆盖原值!!!

轮台县19233226558: 请问Java中Map集合如何使用?key值和value值如何用?请说的详细一点 -
用清耐乐: 怎么用,看需要的......Map中就是保存key-value,其中value可以是任何的java的对象 ——包括集合 ~ ~ ~

轮台县19233226558: JAVA中的map集合顺序如何与添加顺序一样 -
用清耐乐: hashmap是没有顺序的,有顺序的一般没人这么用的,都是通过list来进行确定顺序的对象添加的.因为list是有顺序的,先add的编号就小(从0开始),举例: List list = new linkedList(); list.add("0"); list.add("1"); 结果就是:list.get(1) =1;

轮台县19233226558: 请问java里util包中的Map类,能修改其中的数据吗?
用清耐乐: 可以的 举个例子 import java.util.HashMap; class User { int id; void setId(int i) { id = i; } int getId() { return id; } } public class Temp { public static void main(String[] args) { User user = new User(); user.setId(1); HashMap<Integer, User> userMap = new ...

轮台县19233226558: 怎么遍历map集合时修改map -
用清耐乐: 遍历map集合有很多方式方法,根据自己业务场景业务逻辑采用不同的方式,首先定义一个map集合,并且赋值.接下来说第一种方式,HashMap entrySet() 遍历方法,具体方法看代码,后边说一下和keyset() values() 的区别.执行代码,...

轮台县19233226558: java map集合赋值操作一个值改变另一个会变吗 -
用清耐乐: map 是 key value 组成的,如果赋的值与原先的key 相同会覆盖之前的数据,不相同是新的一条值

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网