java中的集合

Collection接口:

  一个独立的元素的序列,这些元素服从一条或多条规则

  Collection接口下主要分为List集合和Set集合

  List集合的特点是元素有序、允许有重复元素

    ArrayList:底层数组实现,查找块,增删慢,线程不安全

    Vector:与ArrayList基本一致,线程安全

    LinkedList:底层链表实现,增删块,查找慢,

  Set集合的特点是元素无序、不允许有重复元素,通过存入对象的equals方法来保证集合中没有重复元素

    HashSet:使用哈希算法保证没有重复元素

      在add方法中,首先调用对象的hashCode方法计算哈希值,折小作为位置号,如果该位置空着直接存进去

      如果有元素了,需要和该位置元素一一进行equals比较,返回结果都为false才存进去,否则不存

        很高效

    TreeSet:通过二叉树的原理保证无重复元素,并对元素进行排序

      排序两种方式:

        1 按元素的自然顺序,向集合中存入的对象实现comparable接口的compareTo方法

        2 在创建TreeSet对象时,实现一个比较器,comparator接口的compare方法

      如果两种方式都使用的情况下,比较器具有较高的优先级

Map接口:

  一组成对的键值对,允许根据键来查找值

     HashMap:线程不安全,存取速度快,允许null键,null值

      通过HashSet原理保证键的唯一性

    HashTable:线程安全,存取速度慢,不允许null键,null值

    TreeMap:通过二叉树算法保证键的唯一性

      对键进行排序,排序原理和TreeSet原理一致

     Properties:

      HashTable的子类,所以也是线程安全的

      用于读写配置文件,一般配置两边都是string

      只能存string,不需要泛型

Iterable接口:

  实现增强父循环

  

posted @ 2013-11-23 13:48  褐色键盘  阅读(114)  评论(0)    收藏  举报