java中如何通过Map的key获得它的value

java中如何通过Map的key获得它的value,第1张

Map<String,String> maps = new HashMap<String,String>();

//获取key的集合

Set<String> keySet = mapskeySet();

//遍历key集合,获取value

for(String key : keySet) {

String value = mapsget(key);

}

import javautilHashMap;

import javautilIterator;

import javautilSet;

public class TestHm {

public static void main(String atgs[]){

HashMap hm=new HashMap();

//添加内容

hmput("Object key1", "Object value");

hmput("Object key2", "Object value");

hmput("Object key3", "Object value");

hmput("Object key4", "Object value");

//删除Object key3

hmremove("Object key3");

//创建数组,声明i作为数组下标

String s[]=new String[hmsize()];

int i=0;

//显示内容

Set set=hmkeySet();

Iterator it=setiterator();

while(ithasNext()){

String t=(String)itnext();

Systemoutprintln(t);

s[i++]=t;

}

//测试数组是否添加值

Systemoutprintln("===================");

for(int t=0;t<=2;t++)

Systemoutprintln(s[t]);

}

}

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用MapEntry类,你可以得到在同一时间得到所有的信息。

标准的Map访问方法如下:

Set keys = mapkeySet( );

if(keys != null) {

Iterator iterator = keysiterator( );

while(iteratorhasNext( )) {

Object key = iteratornext( );

Object value = mapget(key);

;…

;}

}

然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。

幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个MapEntry实例化后的对象集。

接着,MapEntry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:

Set entries = mapentrySet( );

if(entries != null) {

Iterator iterator = entriesiterator( );

while(iteratorhasNext( )) {

MapEntry entry =iteratornext( );

Object key = entrygetKey( );

Object value = entrygetValue();

;…

}

}

尽管增加了一行代码,我们却省略了许多对Map不必要的"get"调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。MapEntry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。

Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对

Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了MapEntry类来转换,好,现在就用这

个类来作文章,我具体写了一个方法。

代码:

/

方法名称:getSortedHashtable

参数:Hashtable h 引入被处理的散列表

描述:将引入的hashtableentrySet进行排序,并返回

/

public static MapEntry[] getSortedHashtable(Hashtable h){

Set set = hentrySet();

MapEntry[] entries = (MapEntry[])settoArray(new MapEntry[setsize()]);

Arrayssort(entries,new Comparator(){

public int compare(Object arg0, Object arg1) {

Object key1 = ((MapEntry)arg0)。getKey();

Object key2 = ((MapEntry)arg1)。getKey();

return ((Comparable)key1)。compareTo(key2);

}

});

return entries;

}

调用这个方法:

MapEntry[] set = getSortedHashtable(t);

//perportyTable

for (int i=0;i<setlength;i++){

Systemoutprintln(set[i]getKey()。toString());

Systemoutprintln(set[i]getValue()。toString());

}

map集合没有专门更改value的方法,更改value的方法就是mapput(key,value),更改就是直接替换,比如想改变key是"1",value是"一"的组合,就是mapput("1","壹"),直接替换就行。

import javautilHashMap;

public class Demo {

public static void main(String[] args) {

HashMap<String, Integer> map = new HashMap<String, Integer>();

mapput("张三", 89);

mapput("赵四", 100);

Systemoutprintln(map);

if (mapcontainsKey("张三")) {//判断如果存在 key ,就修改value

mapput("张三", 98);//修改

}

Systemoutprintln("------分割线------");

Systemoutprintln(map);

}

avaMap集合

Map集合没有继承Collection接口,,Map中不能包含相同的key值,每个key只能影射一个相同的value。key值还决定了存储对象在映射中的存储位置。

但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合包括Map接口以及Map接口所实现的类。

百度百科-JavaMap集合

以上就是关于java中如何通过Map的key获得它的value全部的内容,包括:java中如何通过Map的key获得它的value、java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来、如何获得map的key和Value等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10145223.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存