• 关于Map



    Map集合的特点:
    1,Map 集合是一个双列集合,Collection是单列集合。
    2,Map 一次存一对元素,通过键值对的形式,键和值有对应关系。Colletion是一次存一个元素
    3,Map集合必须要保证集合中键的唯一性。不保证元素的唯一性获取就会出问题。
    (Collection 是单身汉,Map是一对夫妻。)
    Map集合中常见的功能:
    1,增加:
    V put(K key,V value):将k和v做为元素存储如mop集合,当存入了相同的k时,
    新的值会覆盖原来的值,并返回原来的值。
    void putAll(Map<?extends K,? extends V> m): 将一个集合存到Map集合中。
    2,删除:
    Clear();
    v remove(k):按照键删除,返回被删除的健对应的值。
    3,判断:
    boolend containsKey(Object key)
    boolend containsValue(Object value)
    isEmputy();
    4,获取
    Int size();获取map集合中的元素的个数。
    v get(k);通过健获取值。
    Collection values();获取map集合中所有的值。
    Set KeySet():获取map集合中所有的健。
    Set entrySet():获取的时键值的映射的关系。将映射关系封装成对象存入到Set集合中

    Map集合没有迭代器。
    迭代器是Collection集合具备的。
    Map集合的去处元素的原理:
    就是将Map集合先转成Set集合,再进行迭代。
    Map的子类对象:
    --Hashtable:底层是哈希表数据结构,是同步的。不允许null作为键,null作为值
    -Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串

    是集合中可以和IO技术向结合的对象。
    --HashMap:底层也是哈希表数据结构,是不同步的。允许null,null作为值。替代了Hashtable

    -LinkedHashMap:次子类提供了以个可以让存储的数据有序。
    --TreeMap:可以用来对Map集合中的键进行排序。
    Map<String, String> userMap = u.getMap();
    // method A
    Set<String> keys = userMap.keySet();
    System.out.println("map test: ");
    for (String name : keys) {
    String qq = userMap.get(name);
    System.out.println(name + "..." + qq);
    }
    // method B
    Set<Entry<String, String>> entrySet = userMap.entrySet();
    Iterator<Entry<String, String>> iterator = entrySet.iterator();
    while (iterator.hasNext()) {
    Entry<String, String> entry = iterator.next();
    String key = entry.getKey();
    String value = entry.getValue();
    String name = key;
    String qq = value;
    System.out.println(name + ":" + qq);
    }

    --------------------------

    见到Treexx的放集合就要想到Comparable接口下的ComparaTo方法,自定义存储要覆盖次方法。
    Comparable
    -ComputerTo
    -----------------------------
    工具类:
    1,Collections:是集合对象的工具。提供了操作集合的工具方法。、
    2,Array:是数组的工具类,提供了对数组的工具方法。
    两个工具类的特点:类中的方法否是静态的,不需要创建对象,直接使用类名调用即可。

  • 相关阅读:
    控制C++的类只能在堆分配或只能在栈分配
    static 相关随笔
    虚拟继承
    虚函数和纯虚函数有以下所示方面的区别(转)
    构造函数 析构函数
    标准C++中有没有接口和纯抽象类的概念?(转)
    抽象类和接口(转)
    如何快速正确的安装 Ruby, Rails 运行环境
    NSRunLoop
    UIImagePickerController之死因 .
  • 原文地址:https://www.cnblogs.com/33blog/p/2640738.html
Copyright © 2020-2023  润新知