建议这样做,我不清楚你value中都有哪些数据是一样的,上面的方法 拿到key的set集合 然后通过迭代 取出value 建议将取出的value放在list中然后每次放入的时候判断集合中是否有相同的元素 ,so根据判断结果获取对应的key
真的想回答lz的问题,但是lz你看看,现在csdn问答里都是什么人。
你给蒋涛付了c币,你的问题还是交给他来回答你吧。
相同value的key值?,可以用map集合对象点出getall方法,在打印出来看看,用眼神找把~hh
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}
调用一个函数就可以获得map里的值啊
multimap中才会有相同的值
public static void main(String[] args) {
Map<String, Object> map = getSameValue(new HashMap<String, Object>());
Set<Entry<String, Object>> set = map.entrySet();
for (Entry<String, Object> entry : set) {
System.out.println(entry.getValue() + " "+entry.getKey() );
}
}
public static Map<String, Object> getSameValue(Map<String, Object> map){
//为了验证, 将map中添加测试数据:
map.put("11", "张无忌");
map.put("22","赵敏");
map.put("33","张无忌");
Map<String, Object> temp = new HashMap<>();
Map<String, Object> same = new HashMap<>();
Set<Entry<String, Object>> set = map.entrySet();
for (Entry<String, Object> entry : set) {
if (temp.containsValue(entry.getValue())) {
same.put(entry.getKey(), entry.getValue());
}else{
temp.put(entry.getKey(), entry.getValue());
}
}
return same;
}
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}
private void test(){
Map hm = new HashMap();
Set s=hm.keySet();
Map map = new HashMap();
for(String str : s){
String value = (String)hm.get(str);
if(map.containsKey(value)){
//为value 重复的值,这里做数据处理
}else{
map.put(value,"");
}
}
}
我也不懂,求解求解求解求解!
获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下来就具体介绍一下四种遍历方法以及map里面的元素通过key或者value来比较大小并排序
hm已是一个HashMap的引用。
如果你知道当前的这个key,可以通过hm.get(key)方法来获得value。
获得key的方法hm.keySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。
具体可以结合以下例子看看,里面有个迭代器用于遍历的。
Set s=hm.keySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。
Iterator it=s.iterator();//获得一个迭代器引用it,通过s.iterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(it.hasNext())//set里面如果有下一个
{
Integer key=it.next();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
System.out.println(hm.get(key));//利用hm.get(key)方法获得该key对应的value
}