Java面试题: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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号