List、Set、Map三种集合

   

集合类型主要有3种:List(列表)、Set(集)和Map(映射)

集合 List Set Map
特点 存取有序,有索引,
元素可以重复
存取无序,没有索引,
元素不可以重复
键值对、键唯一、值不唯一
常用实现类 ArrayList、LinkedList、Vertor HashSet、LinkedHashSet、 TreeSet HashMap、TreeMap、Hashtable

常用实现类

1.List 集合
  1. ArrayList:底层是数组实现的, 查询修改快 , 增删慢, 线程不安全;
  2. LinkedList:底层是链表实现的,查询修改慢,增删快,线程不安全;
  3. Vertor:底层是数组实现的,线程是安全的;
2.Set 集合
  1. HashSet:底层是哈希算法实现的,效率比较高;
  2. TreeSet:底层原理是二叉树实现的;
  3. LinkedHashSet:底层也是哈希算法实现的, 也是可以保证元素的唯一, 原理和HashSet一样;
3.Map 集合
  1. HashMap:底层是哈希表结构,保证元素唯一,不能保证顺序恒久不变 ;
          它可以存储null键 null值 ,线程不安全,不同步,执行效率高;
  2. LinkedHashMap:哈希表和链接列表实现, 具有可预知的迭代顺序;
  3. TreeMap:基于红黑树的实现, 该映射根据其键的自然顺序进行排序,
          或者根据创建映射提供的Compartor进行排序, 具体取决于使用的结构方法;

Vector 类和 ArrayList 类的区别

No. 区别点 ArrayList Vector
1 时间 是新的类,是在 JDK 1.2 之后推出的 是旧的类是在 JDK 1.0 的时候就定义的
2 性能 性能较高,是采用了异步处理 性能较低,是采用了同步处理
3 输出 支持 Iterator、ListIterator 输出 除了支持 Iterator、ListIterator 输出,
还支持 Enumeration 输出

HashMap 与 Hashtable 的区别

No. 区别点 HashMap Hastable
1 时间 JDK 1.2 之后推出的,新的操作类 JDK 1.0 时推出的,旧的操作类
2 性能 异步处理,性能较高 同步处理,性能较低
3 null 允许设置为 null 不允许设置,否则将出现空指向异常

加油哇~

发表评论