[Java、Android面试]_13_map、set和list的区别

news2024/9/24 13:19:34

本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。
整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来,感兴趣的朋友可关注+收藏

文章目录

    • 1. List
    • 2. Set
    • 3. Map

表中的有序和无序,是指:读出的顺序与存入的顺序是否一致的。
在这里插入图片描述

1. List

①可以允许重复的对象;
②可以插入多个 null 元素;
③是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序;
④常用的实现类有 ArrayList、LinkedList 和 Vector;ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。

2. Set

Set 存储的元素是无序的,这里的无序指的是存入的顺序与输出的顺序可能是不一致的。
①不允许重复对象;
②无序容器,你无法保证每个元素的存储顺序,TreeSet 通过 Comparator 或者 Comparable 维护了一个排序顺序;
③只允许一个 null 元素;
④Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet;最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其compare() 和 compareTo() 的定义进行排序的有序容器。

3. Map

Map 存储的元素是键值对(key-value),键和值都是无序的,即存入顺序与输出顺序可能都不一样。
①Map 不是 Collection 的子接口或者实现类,Map 是一个接口;
②Map 的 每个 Entry 都持有两个对象,也就是一个键一个值,Map 可能会持有相同的值对象但键对象必须是唯一的;
③TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序;
④Map 里你可以拥有随意个 null 值,但最多只能有一个 null 键;
⑤Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap(HashMap、TreeMap 最常用)

本节完!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1539649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python_往企业微信群中发送文件】

python_往企业微信群中发送文件 这个是用企业微信群机器人的功能,没有用到后台应用。群机器人 #-*- coding:utf-8-* import requests#类型:voice,file file_type"file" file_path"D:\desktop\不过.jpg" webhookkey"xxxx"#…

掌握这6大工具,自媒体ai写作之路畅通无阻! #知识分享#媒体#科技

从事自媒体运营光靠自己手动操作效率是非常低的,想要提高运营效率就必须要学会合理的使用一些辅助工具。下面小编就跟大家分享一些自媒体常用的辅助工具,觉得有用的朋友可以收藏分享。 1.元芳写作 这是一个微信公众号 面向专业写作领域的ai写作工具&am…

OFDM调制解调的优势

1、频谱效率高 各子载波可以部分重叠,理论上可以接近Nyquist极限。 实现小区内各用户之间的正交性,避免用户间干扰,取得很高的小区容量。 相对单载波系统(WCDMA),多载波技术是更直接实现正交传输的方法 2、…

(AtCoder Beginner Contest 345) ---- F - Many Lamps -- 题解

F - Many Lamps 题目大意: 思路解析: 对于每个线只有三种情况 (1) 一个城市亮着灯,另一个城市没亮灯,此时选择这条线路,灯的点亮数不变 (2) 两个城市未亮灯&#xff…

UNI-APP读取本地JSON数据

首先要把json文件放在static文件夹下 然后在要读取数据的页面导入 import data from ../../static/data.json读取数据: onLoad() {console.log(data, data)}, 打印出来的就是JSON文件里的数据了

简介:网络数据中心和数字孪生系统融合

前言 云服务器是在云中提供可扩展的计算服务,避免了使用传统服务器时需要预估资源用量及前期投入的情况。云服务器支持用户自定义一切资源:cpu、内存、硬盘、网络、安全等等,并可在访问量和负载等需求发生变化时轻松地调整它们。云服务器为业…

你需要来自XXX的权限才能对此文件夹进行更改”的解决方法

使用 Windows PowerShell(管理员)(A) 强制删除文件 快捷键 winx 调出如下界面,点击 Windows PowerShell(管理员)(A) 1、定位到要删除的文件夹所在目录,例如E盘下的abc文件夹 执行命令 cd Set-Location -Path "E:\Program Files\abc" 2、给要删除的文件夹…

鸿蒙Harmony应用开发—ArkTS-ForEach:循环渲染

ForEach基于数组类型数据执行循环渲染。 说明: 从API version 9开始,该接口支持在ArkTS卡片中使用。 接口描述 ForEach(arr: Array,itemGenerator: (item: Array, index?: number) > void,keyGenerator?: (item: Array, index?: number): string …

eth 交易案例分析9

交易hash: 先用0.26eth买入了多个GPT,然后用这多个GPT 在uniswap3 兑换了1.69 个eth, 疑问点:买入的 DLP 什么意思?

C++初阶---类和对象

目录 1. 类的引入 2. 类的定义 4. 类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6.类的实例化 7.类对象模型 8. this指针 8.1 this指针的引出 8.2 this指针的特性 8.3 C语言和C实现栈的对比 9.类的六个默认成员函数 10,构造函数 10.1…

Penpad 生态资产 $PDD LaunchPad 在即,Season 2 规则解读

Penpad是Scroll上的LauncPad平台,该平台继承了Scroll底层的技术优势,并基于零知识证明技术,推出了系列功能包括账户抽象化、灵活的挖矿功能,并将在未来实现合规为RWA等资产登录Scroll生态构建基础。该平台被认为是绝大多数项目、资…

IM系统设计之消息存储

IM系统设计之消息存储 项目地址:gitgithub.com:muyixiaoxi/Link.git 消息存储结构 消息存储结构如下图所示 当用户A向用户B发送一条消息时 将消息发送给 serverserver 将消息进行持久化判断用户B是否在线,如果在线直接转发;如果离线&am…

蓝桥杯-单片机基础8——上下位机的串口通信设置(附小蜜蜂课程代码)

蓝桥杯单片机组备赛指南请查看这篇文章:戳此跳转蓝桥杯备赛指南文章 本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。 型号:国信天长4T开发板(绿板),芯片:IAP15F2K6…

经得住拷问的HTTPS原理解析

此文涵盖的大致内容: 理解HTTPS原理的概念什么是对称加密和非对称加密?什么是数字签名?怎么生成?怎么校验?啥时候是对称加密?啥时候是非对称加密?啥时候进行算法加密?什么算法&…

【SpringCloud】Consul中数据持久化配置并注册为Windows服务

Consul用起来两个比较麻烦的地方: 一是每次都需要执行打开命令行执行 consul agent -dev 命令来启动Consul服务,而且不能关掉命令行.另外一点就是在Consul中设置的数据,每次重启之后就没了. 就很烦.因此为大家带来解决上述问题的方法 首先要在官网下载Consul安装包的解压目录下…

每日一题 --- 设计链表[力扣][Go]

设计链表 题目:707. 设计链表 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则…

C++生成动态连接库

文章目录 一、静态连接与动态连接二、 动态链接库(DLL)的创建三、dll库的使用四、 动态链接链接库工作原理五、extern "C" 一、静态连接与动态连接 静态库和动态库区别是库的加载时间不同。静态库:在链接阶段库将会与.o目标文件一起…

【redis】服务器架构演进

架构演进 单机架构应用数据分离架构应⽤服务集群架构读写分离 / 主从分离架构冷热分离架构垂直分库微服务架构 单机架构 所有的应用服务、业务所需的数据、业务处理等都在一台服务器上。 在初期,用户访问量很少,对服务器的的性能和安全没有很高的要求&am…

docker入门(一)—— docker概述

docker 概述 docker 官网:http://www.docker.com 官网文档: https://docs.docker.com/get-docker/ Docker Hub官网:https://hub.docker.com (仓库) 什么是 docker docker 是一个开源的容器化平台,可以…

盛最多水的容器——算法思路

题目链接:11. 盛最多水的容器 - 力扣(LeetCode) 题解: while中的主要步骤解释: 首先判断索引 i 处的高度是否小于索引 j 处的高度, 如果小于则计算 ( j - i ) * height [ i ];(先取…