第七天学习

集合

接口

  • List接口:储存一组不唯一,有序(插入顺序)的对象
  • Set接口:储存一组唯一,无序的对象
  • SortedSet接口:继承于Set,保存有序的集合

实现类

  • ArrayList:实现了List接口,和数组相似能自动增长大小,每次增长长度为自身的50%,不能线程同步,不可用于多线程
  • HashSet:实现了Set接口,最多包含一个值为null的元素
  • HashMap:实现了Map接口
  • LinkHashMap:继承于HashMap,使用元素自然顺序对元素进行排序

抽象类

  • Vector:和ArrayList类似,线程同步,可用于多线程
  • Dictionary:和Map类似
  • HashTable:继承于Dictionary
    Dictionary和HashTable的比较
    1):单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.
    2):多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized()方法可以获得完全线程安全的类型. 而Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.
    3):Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境中使用 Dictionary 能获得一定方便.

迭代器使用

String str = "abc";
Iterator <String> s = str.iterator();
if (s.hasNext()){
    System.out.print(s.next());
}

猜你喜欢

转载自www.cnblogs.com/zhz-8919/p/10641530.html