• HashMap接口测试


    package com.iotek.map;

    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;

    public class HashMapDemo1 {
    public static void main(String[] args) {
    // HashMap<String, String> map = new HashMap<String,String>();    //创建HashMap对象,也就是创建一个Map容器
    Map<String, String> map = new HashMap<String,String>(); //接口的引用变量指向实现类的对象
    map.put("jay", "张三"); //添加键值对元素
    map.put("jay", "李四");
    //有相同的键时,后面添加的键对应的值会覆盖掉之前键对应的值
    map.put("john", "李四");
    //键名不同,键值相同,会保存重名的键值,也就是说值是可以重复的,键是不能重复的
    map.put("rose", "玫瑰"); 
    map.put("mary", "小红"); 
    System.out.println(map);

    Set<String> keys = map.keySet();// 获取map中所有键,返回的是一个Set容器,可以用迭代器对象或者foreach来进行输出
    System.out.println("******输出map容器中所有的键:");
    /*for(String key : keys) {
    System.out.print(key + " "); //用String类型的变量key来遍历keys容器
    }*/

    //获取map中所有的值:使用map接口中的values方法,返回Collection接口的实现类
    Collection<String> values = map.values();
    System.out.println(" ******输出map容器中所有的值:");
    for(String value : values) {
    System.out.print(value + " "); //用String类型的变量value来遍历values容器
    }

    //得到key的同时,得到key所对应的值
    System.out.println(" ******用获取的键来得到对应的值并输出:");
    for(String key : keys) {
    System.out.print(key + "--" + map.get(key)); //用String类型的变量key来遍历keys容器
    }
    //map.get(Object key)方法返回的是指定的键所对应 的值,
    System.out.println(" map容器中键值对的个数是:" + map.size());
    System.out.println("判断map容器中是否为空:" + map.isEmpty());

    // map.entrySet()返回的是一个set容器,其中放的是map.Entry内部接口
    /*当我们调用put(key,value)方法时,首先会把key和value封装到Entry这个静态内部类中,
    * 再把Entry对象添加到数组中(哈希表),所以我们想要获取map中的所有键值对,只需要获取
    * 数组汇总所有的Entry,接下来调用Entry对象中的getKey 和getValue方法就能获取键值对
    * 以后想输出HashMap容器中所有的键值对,都可以调用HashMap的 entrySet()方法就可以了!!!*/
    Set<Entry<String, String>> entrys = map.entrySet();
    System.out.println("使用map接口的entrySet()方法获取map容器中所有的键值对:");
    for (Entry<String, String> entry : entrys) {
    System.out.println(entry.getKey() + "-" + entry.getValue());
    }
    map.clear();
    System.out.println("判断map容器中是否为空:" + map.isEmpty());
    }
    }

  • 相关阅读:
    Foundation与Core Foundation内存管理基本原则简述
    Quartz2D 图像处理
    XCode中的特殊快捷键图标
    UITableView的编辑模式
    Cocoa框架中的内存分区
    Cocoa 框架为什么采用两阶段的方式来创建对象?
    IOS中的内存不足警告处理(译)
    Caching和Purgeable Memory (译)
    3年后,我回来了
    POJ3632 Optimal Parking
  • 原文地址:https://www.cnblogs.com/enjoyjava/p/6875810.html
Copyright © 2020-2023  润新知