zoukankan      html  css  js  c++  java
  • Java Collection: List、Set、 Map、 HashMap、 Hashtable、 Vector

    List、Set、 Map、 HashMap、 Hashtable、  Vector 
     
     
    Collection 接口:在一般开发中为了清楚的表现处理数据的存放往往不直接使用 Collection 接口
      ·  子接口:List
      ·  子接口:Set

    List 既然是一个接口,则要使用必须依靠子类  -> ArrayList
      如果要使用 list,则格式为:List l = new ArrayList() ;
     

    ★List 和 Set 的区别:
    1. List - 元素的序列, Set - 没有重复元素的类集
    2. Set 的基本使用与 List 一致,但是 HashSet子类存放时是无序的(散列存放)
    3. 元素重复和顺序的区别:
    · List 中的数据允许重复元素,重复元素保留下来
    · Set 中的数据不允许有重复元素,重复元素被替换掉 // 重复元素被覆盖,只留一个   
    在 Set 中如果使用 HashSet则属于散列的无序的存放,如果希望有序存放使用 TreeSet子类。靠的是 Comparable 接口排序
    ----------------------------------
    ★Map:

    保存一对值(Map):
    |- HashMap:异步处理,新的类
    |- Hashtable:同步处理,旧的类
    |- TreeMap:按 KEY进行排序的集合

    元素为二元偶对的汇集,不能重复
    每次存放一对值:key -> value

    Map的主要功能是作为查找使用,而不是作为输出使用。 (Map for search data)
    *存数据的方法:
         - put(Object key,Object value)
    *取内容(根据 key取):
         -cObject get(Object key)

    Map 接口的对象不能直接使用 Iterator输出
    如果非要使用 Iterator输出 Map 接口对象的内容,必须使用以下的步骤:
    Map —> Set -> Iterator -> Map.Entry -> key、values
    ----------------------------------
    ★HashMap类
    - HashMap类使用散列表实现Map接口
    - HashMap是一种映射类(key->value: 键值对)
    ----------------------------------
    ★Hashtable
    - 与HashMap相似,但Hashtable是同步的
    - 采用映射的方式(key->value: 键值对)
    - Hashtable不支持迭代函数
    Properties类
    - Properties类是Hashtable类的子类(Hashtable <- Properties)
    - 用来保持值的列表
    ------------------
    ☆属性类 -Properties
    (Properties -> String; Hashtable -> Object)

    与 hashtable不同的是,Properties 类主要是保存字符串的,而 Hashtable 是保存对象的。
      - setProperty(String key, String value)
      - getProperty(String key)
    ----------------------------------
    ★TreeMap类 (按 KEY 进行排序)
    - TreeMap类可以对数据进行排序
    - 可以快速检索
    ----------------------------------
    ★Vector类
    |- List:允许有重复元素
      |- ArrayList:异步处理,新的类,只能用 Iterator输出
      |- Vector:同步处理,旧的类,能用 Iterator和 Enumeration 同时输出

    List 和 Set 都不能使用 Enumeration 输出
    而 List 的另外一个子类:Vector可以使用 Enumeration 输出

    Vector类
    - Vector实现动态数组
    - Vector是同步的
    ----------------------------------
  • 相关阅读:
    最近出现很多数据库被攻击案例,在数据库中的文本型字段中加入了script代码
    深入线程,实现自定义的SynchronizationContext
    云计算 (转载)
    VS 2008和.NET 3.5 Beta2新特性介绍(转载)
    js对文字进行编码涉及3个函数
    Sharepoint,MOSS,多语言Webpart (.net2.0)
    Silverlight Toolkit
    Silverlight 2.0正式版下周发布
    搭建Silverlight2.0开发环境(转载)
    如何通过使用 SQL Server 中的 Detach 和 Attach 函数将 SQL Server 数据库移到新位置
  • 原文地址:https://www.cnblogs.com/bluestorm/p/2688254.html
Copyright © 2011-2022 走看看