
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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)