当前位置:首页 > 技术 >

list的set方法和add方法区别(list.add是添加对象还是引用)

来源:原点资讯(www.yd166.com)时间:2022-10-25 05:02:32作者:YD166手机阅读>>

Java中的List与Set

List 和 Set的主要区别 在于, List 是一个有序的集合,而 Set 是一个无序的集合。Java集合框架为不同的需求提供了多个集合类,但所有的集合都可以大致分为三类。 List, Set, 和 Map。所有的 List、 Set和 Map 都被定义为接口,然后你有几个实现,比如ArrayList和Vector 是List 接口 的流行实现 ,而HashSet是 Set 接口 的流行实现 。

这也是流行的Java集合面试问题之一,你可以在Java开发者面试中期待它,特别是在初级阶段。

在这个Java教程中,我们将主要看到 List 和 Set 集合在顶层 有什么区别 ,以及如何选择 在Java 中 何时使用 List ,何时使用 Set 。

我相信,一旦你能够理解 List 和 Set的根本区别 , 你就很有可能精通何时使用 List ,何时选择 Set,这是任何一个Java程序员的关键技能。

Java中List和Set的区别

正如我所说的 ,Set 和 List的主要区别 在于 List 是一个有序的 集合 ,这意味着 List 保留了一个元素插入 List的 顺序 。

因此,如果你 在 对象 B 之前 插入 对象 A ,那么A将被存储在比B更低的索引处。由于 Set 是一个无序的集合,它不保持任何元素的插入顺序 。

尽管你可以有 SortedSet ,它在 Set 接口 之上 提供了排序功能 ,你可以 通过使用比较器和 比较 器 在Set 内存储对象是 强加自然顺序或 对象 或任何自定义顺序 。

另一个 显著的区别 列表 的另一个重要区别 是, List 允许你在集合中存储重复的对象,而 Set 不允许任何重复的对象。这是非常重要的,因为它清楚地表明,如果你想要一个唯一的对象集合,就使用 Set。 对象的重复 是通过equals()方法 检测的。

因此,如果两个对象使用equals方法是相等的,那么 如果使用add()方法添加 ,后一个对象将在 Set中取代前一个对象 ,由于这个原因 ,Set 中只允许一个空元素 。

值得注意的是,在像TreeSet这样的SortedSet 中,compareTo方法被用来比较对象并决定一个对象是否重复。如果两个对象的compareTo()方法返回0,那么它们就是重复的,这就是为什么说compareTo应该与java中的equals方法一致。

Java中的List与Set

为了清楚起见,让我们看看List 和 Set 接口在点格式上的 区别 。

1. List 保持元素的插入顺序,而 Set 不保持任何顺序。

2. 列表 允许重复的对象,而 Set 不允许任何重复的对象。

如果你比较 List 和 Set 接口 的实现 ,比如ArrayList和HashSet , 你不仅可以看到 List 和 Set 的特性所带来的差异 ,还可以看到实现层面的差异,比如ArrayList使用数组作为数据结构,而HashSet使用散列机制。

这里有一个关于Java中List、Set和Map之间区别的很好的总结。

list的set方法和add方法区别,list.add是添加对象还是引用(1)

以上就是关于 Java中 List 和 Set 接口区别 的全部内容。记住这个区别是很重要的,这不仅是对Java开发人员的面试,也是为了在正确的情况下使用正确的集合。底线是, List 是一个有序的集合,而 Set 是无序的, List 允许重复,而 Set不 允许重复

栏目热文

瑜伽盘坐的正确姿势(牛面式盘腿如何锻炼)

瑜伽盘坐的正确姿势(牛面式盘腿如何锻炼)

刚学瑜伽的你,是不是觉得能盘全莲花的人特别厉害?自己也想学!请看看下图,是不是特别像自己?使劲掰自己的脚背往对侧,结果要...

2022-10-25 05:18:06查看全文 >>

盘膝而坐的正确姿势(盘坐的标准动作图解)

盘膝而坐的正确姿势(盘坐的标准动作图解)

在现代化战争中,古代兵械显然已不能与导弹、坦克等对阵,致使武术器械不得不退出战阵拼杀,而广泛活跃在“武术运动”的舞台上。...

2022-10-25 04:51:06查看全文 >>

交叉盘坐的正确姿势(盘坐的正确方法图解)

交叉盘坐的正确姿势(盘坐的正确方法图解)

在生活中总是会遇到心情郁闷的时候,这是因为我们本身就有情感,也会有七情六欲,那么在生活中,在工作时总会遇到一些不如意的事...

2022-10-25 05:09:22查看全文 >>

盘腿坐的正确姿势(零基础盘腿怎么练习)

盘腿坐的正确姿势(零基础盘腿怎么练习)

受新冠疫情影响,许多人不得不开启居家办公模式。保持不正确的坐姿,时间一长,难免腰酸背痛。来看看这份健康宅家办公攻略吧↓错...

2022-10-25 04:55:56查看全文 >>

瑜伽盘坐的正确姿势图(瑜伽盘坐的正确步骤)

瑜伽盘坐的正确姿势图(瑜伽盘坐的正确步骤)

【散盘坐】·简易坐的退阶版,又名“平常坐”练习方式:①腰背挺直坐立于垫面上②屈左膝,将左脚脚跟抵靠在会阴处③屈右膝,将右...

2022-10-25 04:47:29查看全文 >>

listsetmap三者的区别(listset和map分别用于什么场景)

listsetmap三者的区别(listset和map分别用于什么场景)

  首先,Set 、List 和 MAP 是 Java 容器框架的三个最重要的接口,Set、List 和 Map 之间的...

2022-10-25 05:12:45查看全文 >>

list中的set和add的区别(集合中的list)

list中的set和add的区别(集合中的list)

前言:作为Java基础知识的核心部分,集合方面是面试时的重中之重,List、Set、map等相信大家都不会陌生,当然面试...

2022-10-25 04:33:12查看全文 >>

怎么判断使用list还是set(为啥不判断list集合的长度)

怎么判断使用list还是set(为啥不判断list集合的长度)

分享职场生活、职场攻略、程序员创业资源,为一线开发者提供优质内容作为一名java程序员,求职面试时,关于集合的问题时常...

2022-10-25 04:33:43查看全文 >>

list和set哪个查询快(list和map查询效率)

list和set哪个查询快(list和map查询效率)

一.排序1. List:有序、可重复。2. Set:无序、不可重复的集合。重复元素会覆盖掉。3. Map:键值对,键唯一...

2022-10-25 05:13:57查看全文 >>

list和set的操作方法(list和set的集合特点)

list和set的操作方法(list和set的集合特点)

大家好,我是吉森。今天的菜品是这样的:List、Set、数组、Map这些常用的数据结构之间怎么相互转换?下面,让我们一起...

2022-10-25 05:06:07查看全文 >>

文档排行