美文网首页
类集框架2

类集框架2

作者: Mr_chong | 来源:发表于2016-12-03 19:02 被阅读24次

    1.偶对象保存:Map接口

    偶对象指的是一对对象,即两个对象要同时保存。这两个对象是按照key=value 的形式进行定义的,即可通过key找到相应的value数据。

    Map接口的主要操作方法

    No 方法名称 描述
    1 public V put(K key, V value) 向集合中保存数据
    2 public V get(Obeject key) 通过指定的key取得对应的value
    3 public Set<K>keySet() 将Map中的所以key以Set集合的方式返回
    4 public Set<Map.Entry<K,V>>entrySet() 将Map集合变为Set集合

    在Map接口中有两个常用的子类HashMap和Hashtable

    1.1 HashMap

    HashMap是Map接口中使用最多的一个子类,子类定义如下
    public class HsahMap<K,V>
    extends AbstractMap<K,V>
    implements Map<K,V>,Cloneable,Serializable

    例子:Map方法使用
    import java.util.HashMap; import java.util.Map; public class test{ public static void main(String[] args) { Map <Integer,String> map = new HashMap<Integer,String>(); map.put(8, "张三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "赵六"); map.put(25, "张三"); System.out.println(map.get(8)); System.out.println(map.get(null)); } }
    程序运行结果:
    张三
    李四


    Map和Collection在操作上的不同:
    Collection接口设置完内容的目的是为了输出
    Map接口设置完的目的是为了查找


    例:取得全部key,全部的key通过set集合返回
    import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Map <Integer,String> map = new HashMap<Integer,String>(); map.put(8, "张三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "赵六"); map.put(25, "张三"); Set<Integer>set = map.keySet(); Iterator <Integer>iter = set.iterator(); while(iter.hasNext()){ Integer key =iter.next(); System.out.println(key+"---->"+map.get(key)); } } }
    程序运行结果:
    null---->李四

    6---->赵六
    8---->张三
    25---->张三
    30---->王五

    1.2 Hashtable

    Hashtable不能设置NULL
    HashMap和Hashtable的区别

    No 区别 HashMap Hashtable
    1 推出时间 JDK1.2 JDK1.0
    2 性能 采用异步处理方式,性能更高 采用同步处理方式,性能相对较低
    3 安全性 非线程安全 线程安全
    4 设置null 允许将key或value设置为null 不允许出现null否则出现空指针异常

    关于Map集合的输出问题

    public static interface Map.Entry<K,V>
    这是一个在Map接口中使用static定义的一个内部接口

    在Map.Entry内部接口中有两个常用方法
    取得当前的key:public K getKey();
    取得当前的value:public V getValue();

    Map使用使用Iterator输出的操作步骤

    1使用Map接口中的entrySet()方法,将Map集合变为Set集合
    2.取得了Set接口实例后就可以利用iterator()方法取得Iterator的实例化对象
    3.使用Iterator迭代找到每一个Map.Entry对象,并进行key和value的分离

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Map<Integer,String>map=new HashMap<Integer,String>(); map.put(3,"hehe"); map.put(4,"haha"); map.put(20,"niebi"); Set<Map.Entry<Integer,String>>set=map.entrySet(); Iterator<Map.Entry<Integer,String>> iter=set.iterator(); while(iter.hasNext()){ Map.Entry<Integer, String> me =iter.next(); System.out.println(me.getKey()+" "+me.getValue()); } } }

    相关文章

      网友评论

          本文标题:类集框架2

          本文链接:https://www.haomeiwen.com/subject/dpucmttx.html