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

高手们在线求帮请教下,JAVA里面set,map,list的区别是什么?(尽量详细)
最新回答
理想三旬

2024-11-30 08:15:18

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

时间曼妙

2024-11-30 11:10:02

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

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

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