Map接口及其实现类

Collection是单列集合,Map是双列集合

==Map示例==

public class MyTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /**
         * 利用HashMap创建一个城市有区号和城市名两列
         * */
        HashMap<String, String> cities=new HashMap<String,String>();
        cities.put("029", "陕西");
        cities.put("0991", "乌鲁木齐");
        cities.put("010", "北京");
        /**
         * 创建Set,是Key的集合,用来存放cities中所有的区号
         * */
        Set<String> code=cities.keySet();
        /**
         * 遍历存储在code中的所有cities的区号,打印出所有的区号
         * */
        Iterator<String> it=code.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}

==运行结果==

1016795-20161010112138164-1350287952.png

打印出所有城市的名字即在hashMap中的Values值

 Iterator<String> it=code.iterator();
       /**
         * 得到所有城市的名称:值得集合
         * */
        //cities.values()得到城市集合中所有的城市名并保存在集合cityName中
        Collection<String> cityName=cities.values();
        /**
         * 利用迭代器遍历整个cityName中的城市名
         * */
        Iterator<String> it=cityName.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }

==运行结果==

1016795-20161010112155211-1825457647.png

打印出所有区号及城市名

               /**
         * 得到对应的区号以及城市名
         * */
        while(it.hasNext()){
            System.out.println("=======================");
            //得到所有的区号存放在zip中
            String zip=it.next();
            //根据区号的到区号对应的城市
            String cityName=cities.get(zip);
            System.out.println(zip+":"+cityName);
        }

==运行结果==

1016795-20161010112202461-2076202761.png

另一种方法得到所有的条目

Set<Entry<String, String>> enties=cities.entrySet();
        Iterator<Entry<String, String>> it=enties.iterator();
        while(it.hasNext()){
            Entry<String, String> entry=it.next();
            System.out.println(entry.getKey()+":"+entry.getValue());
        }

==运行结果==

1016795-20161010112209227-258830509.png

转载于:https://www.cnblogs.com/sinon/p/5945097.html