List、Set、Map 之间的区别是什么?

本文将介绍 java 中 List、Set、Map 之间的区别是什么?

List

有序集合、元素可重复;ArrayList 基于数组实现的有序集合;LinkedList 基于链表实现的有序集合。

Set

无序集合、元素不可重复;LinkHashSet 按照插入排序;SortSet 可排序;HashSet无序。

Map

键值对集合、储存键、值和之间的映射,Key无序,唯一;Value不要求有序,允许重复。

详细比较如下表:

比较ListSetMap
继承结果
CollectionCollection
常见实现类

AbstractList(其常用子类有 ArrayList、LinkedList、Vector) 

AbstractSet(其常用子类有HashSet、LinkedHashSet、TreeSet)

HashMap、HashTable
常见方法

add()、remove()、clear()、get()、contains()、size()

add()、remove()、clear()、contains()、size()

  put()、get()、remove()、clear()、containsKey()、containsValue()、keySet()、values()、size()

元素可重复不可重复(用 equals()判断)不可重复
顺序
有序无序(实际上由 HashCode 决定)
线程安全
 Vector 线程安全
 Hashtable 线程安全



真理惟一可靠的标准就是永远自相符合。 —— 欧文
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号