List、Set、Map的特点与区别

ArrayList与LinkList的区别

特点:元素有放入顺序,元素可重复

  1. ArrayList基于动态数组的数据结构
  2. LinkList基于链表的数据结构
  3. 对于随机访问get和set方法,ArrayList要优于LinkList因为Link要移动指针
  4. 对于新增和删除LinkList要优于ArrayList,因为ArrayList要移动数据

HashSet与TreeSet的区别

特点:元素无放入顺序,元素不可重复

  1. HashSet是无序的
  2. TreeSet是有序的

HashMap和HashTable的区别

特点:元素按键值对存放数据,无放入顺序

  1. HashMap去掉了HashTable的contains方法,但是加上了containsValue( )和containsKey( )方法
  2. HashTable是同步的,而HashMap是非同步的,效率上HashMap要比HashTable高
  3. HashMap允许空键值,而HashTable不允许
  4. HashMap不是线程安全的,HashTable是

你可能感兴趣的:(List,Set,Map)