List、Map、Set三个接口存取元素时,各有什么特点?

2020-06-30 17:26发布

3条回答
收货啦官方账号
1楼 · 2020-06-30 17:54.采纳回答

存放时:


1.List以特定的索引(有顺序的存放)来存放元素,可以有重复的元素


2.Set存放元素是无序的,而且不可重复


3.Map保存键值对的映射,映射关系可以是一对一(键值)或者多对一,需要注意到的是:键无序不可重复,值可以重复




取出时:


(1)List取出元素for循环,foreach循环,Iterator迭代器迭代


(2)Set取出元素foreach循环,Iterator迭代器迭代


(3)Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代


mrliang
2楼 · 2020-07-16 11:09

ist 以特定索引来存取元素,可以有重复元素。Set 不能存放重复元素(用对象的 equals()方法来区分元素是否重复)。Map 保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。Set 和 Map 容器都有基于哈希存储和排序树的 两种实现版本,基于哈希存储的版本理论存取时间复杂度为 O(1),而基于排序树 版本的实现在插入或删除元素时会按照元素或元素的键(key)构成排序树从而达 到排序和去重的效果。


风火轮
3楼 · 2020-10-26 17:43

存放时:


1.List以特定的索引(有顺序的存放)来存放元素,可以有重复的元素


2.Set存放元素是无序的,而且不可重复


3.Map保存键值对的映射,映射关系可以是一对一(键值)或者多对一,需要注意到的是:键无序不可重复,值可以重复




取出时:


(1)List取出元素for循环,foreach循环,Iterator迭代器迭代


(2)Set取出元素foreach循环,Iterator迭代器迭代


(3)Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代


相关问题推荐

  • 回答 7

    首先创建表:CREATE TABLE `sys_sequence` (   `NAME` varchar(50) NOT NULL,   `CURRENT_VALUE` int(11) NOT NULL DEFAULT '0',   `INCREMENT` int(11) NOT NULL DEFAULT '1',   PRIMARY KEY (`NAME`) )插...

  • 回答 14

    原因:因为默认情况下,当getSession()后,session就被被创建。session在创建时,服务器会通过Cookie返回session 的ID给浏览器,之后服务器根据浏览器Cookie里的session的ID来分辨不同用户。但是,这种方法返回的cookie是保存在浏览器的内存中,浏览器关闭后...

  • 回答 15

    1、什么是线程池:  java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。       ...

  • 回答 4

    我知道快速排序是

  • 回答 14

    优化一下分页,每次不一定要取出所有记录,再说搜索结果太过也没什么意义,通过主键来排序,即便不用全文索引也应该是很快的.

  • 常见的算法有哪些?2020-06-23 10:35
    回答 1
    已采纳

    (一)基本算法 : 1.枚举 2.搜索: 深度优先搜索 广度优先搜索 启发式搜索 遗传算法 (二)数据结构的算法 (三)数论与代数算法 (四)计算几何的算法:求凸包 (五)图论 算法: 1.哈夫曼编码 2.树的遍历 3.最短路径 算法 4.最小生成树 算法 5.最小树形图 6....

  • 回答 10

    基础:比如计算机系统、算法、编译原理等等Web开发: 主要是Web开发相关的内容,包括HTML/CSS/js(前端页面)、 Servlet/JSP(J2EE)以及MySQL(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)。J2EE:你需...

  • 回答 2

    void solve(){int a,b,c,d,e,f;int y,z;    for(a=1;a

  • 回答 6

    算法是Java大数据算法  肯定有用的

  • 回答 6

    冒泡排序(BubbleSort)是一种最简单的排序算法。它的基本思想是迭代地对输入序列的第一个元素到最后一个元素进行俩俩比较,当满足条件时交换这俩个元素的位置,该过程持续到不需要执行上述过程的条件时。选择排序(SelectSort)是一种原地(in-place)排序算法,适...

  • 回答 4

    算法工程师一般都是学的数据挖掘和机器学习,而且对专业要求比较高,对能力也有一定的限制。算法工程师通过算式来完成不同的逻辑运算,他们的工作范围有对图像音频视频等信息进行处理,如图像和视频的分类、检测、识别、跟踪、计算成像等,通过大数据分析进行...

没有解决我的问题,去提问