List、Set和Map接口的特点与常用的实现类

List 和 Set 实现了 Collection 接口。


List:

  • 允许重复的对象
  • 可以插入多个 null 元素
  • 是有序容器,保持了每个元素的插入顺序
  • 常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList,它提供了使用索引的随意访问,LinkedList 更合适经常添加或删除元素的场景

Set:

  • 不允许重复对象
  • 只允许一个 null 元素
  • Set 接口最常用的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。HashSet 基于 HashMap 实现;LinkedHashSet 按照插入排序;TreeSet 通过 Comparator 或 Comparable 接口实现排序

Map:

  • 是单独的顶级接口,不是 Collection 的子接口
  • Map 的 每个 Entry 都持有两个对象,key 和 value,key 唯一,value 可为 null 或重复
  • Map 接口常用的实现类有 HashMap、LinkedHashMap、Hashtable 和 TreeMap
  • Hashtable 和 未指定 Comparator 的 TreeMap 不可为 null;HashMap、LinkedHashMap、指定 Comparator 的 TreeMap 的 key 可以为 null

【Java面试题与答案】整理推荐

发布了530 篇原创文章 · 获赞 1499 · 访问量 160万+

猜你喜欢

转载自blog.csdn.net/meism5/article/details/105018675