
Set<Integer> keySet = mapkeySet();
for(Integer key : keySet) {
mapget(key);
}
标准的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());
}
以上就是关于java获取map中key全部的内容,包括:java获取map中key、如何获取map的key和value、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)