当前位置: 首页 > article >正文

Java Set/List 知识点 Java面试 基础面试题

Java Set/List 知识点

Set与List区别

  • List 有序、值可重复,内部数据结构 Obejct[ ] 数组
  • Set 无序、值不重复,内部数据结构 HashMap key=object value固定new Object()

ArrayList

  • 有序存储元素
  • 允许元素重复,允许存储 null
  • 支持动态扩容
  • 非线程安全

HashSet、LinkedHashSet、TreeSet的区别(面试常问)

HashSet、LinkedHashSet、TreeSet是实现Set接口的3个实现类,其中:

HashSet只是通用的存储数据的集合,

LinkedHashSet的主要功能用于保证FIFO(先进先出)即有序的集合,

TreeSet的主要功能用于排序(自然排序或者比较器排序)

相同点

1)HashSet、LinkedHashSet、TreeSet都实现了Set接口

2)三者都保证了元素的唯一性,即不允许元素重复

3)三者都不是线程安全的

可以使用Collections.synchronizedSet()方法来保证线程安全

不同点

HashSet不保证元素的顺序

LinkHashSet保证FIFO即按插入顺序排序

TreeSet保证元素的顺序,支持自定义排序规则



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

Java Set/List 知识点 Java面试 基础面试题

Java Set/List 知识点 Set与List区别 List 有序、值可重复,内部数据结构 Obejct[ ] 数组Set 无序、值不重复,内部数据结构 HashMap keyobject value固定new Object() ArrayList 有序存储元素允许元素重复,允许存储 null 值支持动态扩容非线程安全 HashSet、LinkedHa…...

Oracle Database Resident Connection Pooling (DRCP) 白皮书阅读笔记

本文为“Extreme Oracle Database Connection Scalability with Database Resident Connection Pooling (DRCP)”的中文翻译加阅读笔记。觉得是重点的就用粗体表示了。 白皮书版本为March 2025, Version 3.3,副标题为:Optimizing Oracle Database resou…...

FastAPI WebSocket 聊天应用详细教程

项目简介 这是一个基于 FastAPI 和 WebSocket 实现的实时聊天应用,支持一对一聊天、离线消息存储等功能。 技术栈 后端:FastAPI (Python)前端:HTML、JavaScript、CSS通信:WebSocket认证:简单的 token 认证 项目结构…...

(区间 dp)洛谷 P6879 JOI2020 Collecting Stamps 3 题解

题意 给定一个周长为 L L L 的圆,从一个点出发,有 N N N 个黑白熊雕像,编号为 1 1 1 到 N N N,第 i i i 个雕像在顺时针 X i X_i Xi​ 米处,如果你没有在 T i T_i Ti​ 秒内收集到这个黑白熊雕像,那…...

vue3+canvas裁剪框样式【前端】

目录 canvas绘制裁剪框:拖拽改变框的大小:圆圈样式:方块样式: canvas绘制裁剪框: // 绘制裁剪框 const drawCropRect (ctx: CanvasRenderingContext2D): void > {if (cropRect.value.width > 0 && crop…...

【Vue3 / TypeScript】 项目兼容低版本浏览器的全面指南

在当今前端开发领域,Vue3 和 TypeScript 已成为主流技术栈。然而,随着 JavaScript 语言的快速演进,许多现代特性在低版本浏览器中无法运行。本文将详细介绍如何使 Vue3 TypeScript 项目完美兼容 IE11 等低版本浏览器。 一、理解兼容性挑战 …...

软件功能测试和非功能测试有什么区别和联系?

软件测试是保障软件质量的核心环节,而软件功能测试和非功能测试作为测试领域的两大重要组成部分,承担着不同但又相互关联的职责。 软件功能测试指的是通过验证软件系统的各项功能是否按照需求规格说明书来正确实现,确保软件的功能和业务流程…...

10_C++入门案例习题: 结构体案例

案例描述 学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下 设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员 学生的成员有姓名、考试分数, 创建…...

快速定位达梦缓存的执行计划并清理

开发告诉你一个sql慢,你想看看缓存中执行计划时,怎么精准快速定位? 可能一般人通过文本内容模糊搜索 select cache_item, substr(sqlstr,1,60)stmt from v$cachepln where sqlstr like %YOUR SQL STRING%; 搜出来的内容比较多,研…...

Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类

在 Spring 框架中,配置 Bean 的方式主要有两种:XML 配置 和 Java 配置类。这两种方式都可以实现将对象注册到 Spring 容器中,并通过依赖注入进行管理。本文将详细介绍这两种配置方式的步骤,并提供相应的代码示例。 1. 使用 XML 配置的方式 步骤 创建 Spring 配置文件 创建…...

AI算子开发是什么

AI算子开发是指为人工智能(尤其是深度学习)模型中的基础计算单元(如卷积、矩阵乘法、激活函数等)设计并优化其底层实现的过程。这些计算单元被称为“算子”(Operator),它们是构建神经网络的核心…...

低光环境下双目云台摄像头监控性能解析

双目云台摄像头在低光环境下的监控效果主要取决于其硬件配置和软件优化能力。以下是对双目云台摄像头在低光环境下监控效果的详细分析: 一、硬件配置对低光监控效果的影响 镜头与焦距 : 双目云台摄像头通常配备超大广角固定镜头和360视角的移动镜头&a…...

若依、vben-admin、三维可视化

对三维可视化,包括cesium、模型加载、GIS有关的项目和技术都可以私信,包括基础数据后台管理系统的搭建和配置...

如何Ubuntu 22.04.5 LTS 64 位 操作系统部署运行SLAM3! 详细流程

以下是在本地部署运行 ORB-SLAM3 的详细步骤,基于官方 README.md 和最佳实践整理,适用于 Ubuntu 16.04/18.04/20.04/22.04 系统: 一、系统要求与依赖项安装 1. 基础系统要求 操作系统:Ubuntu 16.04/18.04/20.04/22.04&#xff…...

LLMs可在2位精度下保持高准确率

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

爆改 toxml 组件 支持数据双向绑定 解决数据刷新问题

GGGGGGGGGGGGGGGGGithub地址自行研究 sbfkcel/towxml: 微信小程序HTML、Markdown渲染库https://github.com/sbfkcel/towxml原组件是以导入数据渲染信息为目的、本文以AI数据返回小程序为模拟效果演示 默认情况只在ready 环节进行渲染静态资源 1、对传入数据容器的位置做处理 …...

Unreal如何使用后处理材质实现一个黑屏渐变效果

文章目录 前言相机后期处理材质创建材质相机设置动态修改FadeAlpha参数使用示例最后前言 UE5 开发VR ,如何通过PostProcess轻松实现黑屏渐变效果 最简单的办法,其实是使用一个半球形模型,遮挡住相机,然后控制这个半球形遮罩的颜色透明度,至少Unity中默认的Tunneling是这么…...

施磊老师基于muduo网络库的集群聊天服务器(四)

文章目录 实现登录业务登录业务代码补全数据库接口:查询,更新状态注意学习一下里面用到的数据库api测试与问题**问题1:****问题2:** 用户连接信息与线程安全聊天服务器是长连接服务器如何找到用户B的连接?在业务层存储用户的连接信息多线程安全问题加锁! 处理客户端…...

Java多线程编程初阶指南

目录 一.线程基础概念 线程是什么? 线程与进程对比 为啥要有线程 二.线程实现方式 继承Thread类 实现Runnable接口 常规实现方式 匿名内部类写法 Lambda表达式写法(Java8) 对比总结 三.Thread 类及常见方法 核心功能 核心构造方…...

DB-GPT支持mcp协议配置说明

简介 在 DB-GPT 中使用 MCP(Model Context Protocol)协议,主要通过配置 MCP 服务器和智能体协作实现外部工具集成与数据交互。 开启mcp服务,这里以网页抓取为例 npx -y supergateway --stdio "uvx mcp-server-fetch" …...

CoT-Drive:利用 LLM 和思维链提示实现自动驾驶的高效运动预测

25年3月来自澳门大学和 MIT 的论文“CoT-Drive: Efficient Motion Forecasting for Autonomous Driving with LLMs and Chain-of-Thought Prompting”。 准确的运动预测对于安全的自动驾驶 (AD) 至关重要。本研究提出 CoT-Drive,这是一种利用大语言模型 (LLM) 和思…...

Flowable7.x学习笔记(十)分页查询已部署 BPMN XML 流程

前言 上一篇文章我们已经完成了流程的部署功能,那么下一步就是要激活流程了,但是我们要需要明确的指定具体要激活部署后的哪一条流程,所以我们先把已部署的基础信息以及具体定义信息分页查询出来,本文先把基础代码生成以及完成分页…...

【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(15):NaiveExecutor

CangjieMagic框架:使用华为仓颉编程语言编写,专门用于开发AI Agent,支持鸿蒙、Windows、macOS、Linux等系统。 这篇文章剖析一下 CangjieMagic 框架中的 NaiveExecutor。 1 NaiveExecutor是什么? #mermaid-svg-u9WgSijieH1Pk0xU…...

Office文档图片批量提取工具

Office.Files.Images 是一款专注于从 Word、Excel、PPT 等 Office 文档中批量提取图片的轻量级工具,支持 .docx、.xlsx、.pptx 格式文件。该软件体积仅 ‌343KB‌,无需安装即可运行,通过拖拽操作实现快速解析与导出,尤其适合需批量…...

33-公交车司机管理系统

技术: 基于 B/S 架构 SpringBootMySQLvueelementui 环境: Idea mysql maven jdk1.8 node 用户端功能 1.首页:展示车辆信息及车辆位置和线路信息 2.模块:车辆信息及车辆位置和线路信息 3.公告、论坛 4.在线留言 5.个人中心:修改个人信息 司机端功能…...

PyCharm 初级教程:从安装到第一个 Python 项目

作为 Python 程序员,无论是刚入门还是工作多年,PyCharm 都是一个绕不开的开发工具。它是 JetBrains 出品的一款强大的 Python IDE,有自动补全、调试、虚拟环境支持、代码检查等等功能,体验比命令行 记事本舒服一百倍。 今天这篇…...

文件上传漏洞3

1. 例题:文件上传限制 1)上传漏洞靶场介绍 项目名称: upload-labs开发语言: 使用PHP语言编写功能定位: 专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场关卡数量: 目前共21关,每关包含不同上传方式注意事项: 每关没有固定通关方法,不要自限…...

QML FontDialog:使用FontDialog实现字体选择功能

目录 引言相关阅读FontDialog基本介绍字体属性 实例演示项目结构代码实现Main.qmlmain.cpp 代码解析运行效果 总结 引言 在桌面应用程序开发中,字体选择是一个常见的需求。Qt Quick提供了FontDialog组件来实现这一功能。本文将介绍如何在Qt Quick应用程序中使用Fon…...

力扣刷题Day 27:环形链表(141)

1.题目描述 2.思路 创建一个结点集合,遍历链表,如果遇到已经加进集合的结点就说明链表有环。 3.代码(Python3) class Solution:def hasCycle(self, head: Optional[ListNode]) -> bool:node headnode_set set()while node…...

1.1软考系统架构设计师:系统架构的定义与作用 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析

超简记忆要点 定义:结构决策 | 抽象概念 | 多视图模型(逻辑/物理/动态)作用:解耦复杂需求 | 集成扩展 | 指导开发(蓝图)要素:构件(原子/复合) | 连接件(API/…...