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
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的区别是啥?(尽量详细)的主要内容,如果未能解决你的问题,请参考以下文章