JAVA里面set,map,list的区别是啥?(尽量详细)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA里面set,map,list的区别是啥?(尽量详细)相关的知识,希望对你有一定的参考价值。

java集合的主要分为三种类型:

    Set(集)

    List(列表)

    Map(映射)

    要深入理解集合首先要了解下我们熟悉的数组:

    数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。

    简单说下集合和数组的区别:(参考文章:《Thinking In Algorithm》03.数据结构之数组)

Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。

 

1、
效率高,但容量固定且无法动态改变。
array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。

 

2、Java中有一个Arrays类,专门用来操作array。
arrays中拥有一组static函数,
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
fill():将值填入array中。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。
System.arraycopy():array的复制。

若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。所以就要用到集合。

那我们开始讨论java中的集合。

集合分类:

Collection:List、Set
Map:HashMap、HashTable

参考技术A

    1.Set:Set是一种无序的,不重复的集合,通常使用HashSet来实现。它不允许有重复的元素,因为没有索引,所以无法通过索引访问它的元素。

    2.Map:Map是一种一对一的映射,它使用键值对来存储数据,键是唯一的,而值可以是任意类型的对象。它提供了一系列的操作方法,如添加,查询,删除,更新等。

    3.List:List是一种有序的,可重复的集合,它使用索引来存储数据,允许有重复的元素,可以通过索引访问它的元素。它提供了一系列的操作方法,如添加,查询,删除,更新等。

python里面set()和list()区别是啥?

set是集合,list是列表,主要区别:一是根据两个函数调用时所传的参数情况来分析;一是两个函数创建出的对应的数据类型来分析 参考技术A set和list都是Python常用的结构类型。
list是一个数组,下标 0、1、2... 存放数据。
set是一个集合,集合里存放的是不能重复的数据。set有两个特性:1 查询性能更好、2 常常被用于过滤重复。本回答被提问者和网友采纳

以上是关于JAVA里面set,map,list的区别是啥?(尽量详细)的主要内容,如果未能解决你的问题,请参考以下文章

Java的数据结构你用过哪些?Map与Set的本质区别是啥?

python里面set()和list()区别是啥?

java初识集合(list,set,map)

java中list,set和map 的区别

Java集合list,map,set区别及遍历

JAVA中list与set,map的区别