Map通过map.keyset或者Map.Entry遍历;map多个value对应一个key,逆向转成一个key对应一个list;通过邮编查多个地名

Map用于表达对象间的联系,类似于数学上“函数”的概念,它在其内部管理着“键值对儿”。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;


public class MapTest {


/**
* @param args
*/
public static void main(String[] args) {
Map<String,String> map=new HashMap<String, String>();
map.put("cat","猫");
map.put("dog","狗");
map.put("horse","马");
map.put("desk","桌子");
map.put("table","桌子");
map.put("table","重复");
System.out.println(map.get("table"));
System.out.println("-------------------");
//遍历,将key放入set集合用迭代器遍历
Set key=map.keySet();
Iterator it=key.iterator();
while (it.hasNext()) {
Object x=it.next();
System.out.println(x+"---->"+map.get(x));//不一定是有顺序的
}

System.out.println("-------------------");

//将整个map实体放进去遍历

Set set=map.entrySet();
Iterator iterator=set.iterator();
while (iterator.hasNext()) {
//遍历每个map实体
Map.Entry<String,String> entry=(Map.Entry<String, String>)iterator.next();
System.out.println(entry.getKey()+"---->"+entry.getValue());//不一定是有顺序的

}
}


}

map多个value对应一个key,逆向转成一个key对应一个list;通过邮编查多个地名


import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;


public class MapFindNo {


/**
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Map<String,String> map=new HashMap<String, String>();
map.put("中关村", "100086");
map.put("中发电子城", "100086");
map.put("中关村海龙", "100088");
map.put("北京大学", "100080");
map.put("天安门", "100020");
map.put("劳动公园", "100020");
map.put("中山公园", "100020");
map.put("北海", "100021");
map.put("北航", "100021");
Set set=map.entrySet();
Iterator it=set.iterator();
Map<String, List> map2=new HashMap<String, List>();
while (it.hasNext()) {
Map.Entry<String,String> entry=(Entry<String, String>) it.next();
List lst = map2.get(entry.getValue());
if (lst==null) {
lst=new ArrayList();
map2.put(entry.getValue(), lst);
}
lst.add(entry.getKey());
}

List max=new ArrayList();
Set set2=map2.keySet();
Iterator it2=set2.iterator();

while (it2.hasNext()) {
Object x=it2.next();
List lst2=map2.get(x);
if (lst2.size()>max.size()) {
max=lst2;
}
}
System.out.println(max);

}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值