个人认为可以通过遍历 HashMap 来判断 value 从而得到Key下面是个测试,仅仅是个人方法,有错还望高手提出!import javautilHashMap;import javautilMap;public class Test{ //通过value拿到key public Object getKey(Map map,Object value) { for(Object key:mapkeySet()) if(mapget(key)equals(value)) return key; return null; } public static void main(String[] args) { Map
Set<Object> keySet = mapkeySet();//获取map的key值的集合,set集合
for(Object obj:keySet){//遍历key
Systemoutprintln("key:"+obj+",Value:"+mapget(obj));//输出键与值
}
package test;import javautil;/ 取得Map中的key的集合用的方法是keySet,返回的是Set,
取得Map中的value的集合用的方法是values,返回的是Collect。
值得一提的是,本题中是HashMap,如果改为TreeMap,keySet()方法返回的便会按着字母顺序排列,原因很简单,因为在TreeMap中即时按着这个顺序排列的。
/public class Test_Map {public static void main(String[] args) throws Exception {
Map map = new HashMap();
mapput("one", 1);mapput("two", 2);
mapput("three", 3);
//得到value的方法
Systemoutprintln("========得到value的方法========");
Collection c = mapvalues();
Systemoutprintln(c);
Iterator iter1 = (Iterator)mapvalues()iterator();
while(iter1hasNext()){
Systemoutprintln(iter1next());}//得到key的方法
Systemoutprintln("========得到key的方法========");
Collection s = mapkeySet();
Systemoutprintln(s);
Iterator iter2 = (Iterator)mapkeySet()iterator();
List<Date>
dateList
=
map
keySet()
stream()
sorted(Comparatorcomparing(Date::getTime)reversed())
collect(CollectorstoList());
mapget(dateListget(4));
可以对map中的键进行排序,将键存在一个List中,然后根据mapgetKey()获取值,key通过之前存储的List获取
以上就是关于java 怎样通过hashmap的value得到key全部的内容,包括:java 怎样通过hashmap的value得到key、java语言如何循环读取Map对象内的数据、在map集合中通过value怎么得到key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)