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

Java集合框架中的List、Map、Set详解

在Java开发中,集合框架是处理数据时不可或缺的工具之一。今天,我们来深入了解一下Java集合框架中的ListMapSet,并探讨它们的常见方法操作。

目录

一、List集合

1.1 List集合介绍

1.2 List集合的常见方法

添加元素

获取元素

修改元素

删除元素

元素排序

1.3 List的不同实现类

二、Map集合

2.1 Map集合介绍

2.2 Map集合的常见方法

添加键值对

获取值

检查键或值是否存在

删除键值对

2.3 Map的不同实现类

三、Set集合

3.1 Set集合介绍

3.2 Set集合的常见方法

添加元素

检查元素是否存在

移除元素

3.3 Set的不同实现类

总结


一、List集合

1.1 List集合介绍

List是Java集合框架中的一个接口,它是一个有序的集合,允许存储重复的元素。List中的元素可以通过索引进行访问,这使得它在需要频繁访问元素的场景中非常有用。常见的List实现类有ArrayListLinkedList

1.2 List集合的常见方法

添加元素
  • add(E e):将指定元素添加到列表末尾。

  • add(int index, E element):在指定位置插入元素。

import java.util.ArrayList;
import java.util.List;public class ListAddExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple"); // 添加到末尾list.add(0, "Banana"); // 在索引0处插入System.out.println("List: " + list);}
}
获取元素
  • get(int index):返回列表中指定位置的元素。

  • indexOf(Object o):返回首次出现的指定元素的索引;如果未找到,则返回-1。

  • lastIndexOf(Object o):返回最后一次出现的指定元素的索引;如果未找到,则返回-1。

import java.util.ArrayList;
import java.util.List;public class ListGetExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");String fruit = list.get(1); // 获取索引1处的元素System.out.println("Element at index 1: " + fruit);int index = list.indexOf("Orange"); // 查找"Orange"的索引System.out.println("Index of 'Orange': " + index);int lastIndex = list.lastIndexOf("Banana"); // 查找最后一个"Banana"的索引System.out.println("Last index of 'Banana': " + lastIndex);}
}
修改元素
  • set(int index, E element):用指定元素替换列表中指定位置的元素,并返回被替换的元素。

import java.util.ArrayList;
import java.util.List;public class ListSetExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");String oldFruit = list.set(1, "Grape"); // 修改索引1处的元素System.out.println("Replaced element: " + oldFruit);System.out.println("Updated list: " + list);}
}
删除元素
  • remove(int index):删除指定位置的元素。

  • remove(Object o):删除首次出现的指定元素。

import java.util.ArrayList;
import java.util.List;public class ListRemoveExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");list.remove(1); // 删除索引1处的元素list.remove("Orange"); // 删除"Orange"System.out.println("Updated list: " + list);}
}
元素排序

从Java 8开始,List接口提供了sort()方法,可以直接对列表进行排序。

import java.util.ArrayList;
import java.util.List;public class ListSortMethodExample {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(3);list.add(1);list.add(4);list.add(2);list.sort((o1, o2) -> o1.compareTo(o2)); // 升序排序System.out.println("Sorted list: " + list);}
}

1.3 List的不同实现类

实现类特点
ArrayList基于动态数组实现,支持快速随机访问,适合频繁读取操作,但插入和删除效率较低
LinkedList基于双向链表实现,适合频繁插入和删除操作,但随机访问效率较低

二、Map集合

2.1 Map集合介绍

Map是Java集合框架中的一个接口,用于存储键值对(key-value)形式的数据。在Map中,键(key)必须是唯一的,而值(value)可以重复。常见的Map实现类有HashMapTreeMapHashTable

2.2 Map集合的常见方法

添加键值对
  • put(K key, V value):向Map中添加键值对。

import java.util.HashMap;
import java.util.Map;public class MapPutExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 1);map.put("Banana", 2);System.out.println("Map: " + map);}
}
获取值
  • get(Object key):根据键获取对应的值。

import java.util.HashMap;
import java.util.Map;public class MapGetExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 1);map.put("Banana", 2);Integer value = map.get("Apple"); // 获取键为"Apple"的值System.out.println("Value for 'Apple': " + value);}
}
检查键或值是否存在
  • containsKey(Object key):判断Map中是否包含指定的键。

  • containsValue(Object value):判断Map中是否包含指定的值。

import java.util.HashMap;
import java.util.Map;public class MapContainsExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 1);map.put("Banana", 2);boolean hasKey = map.containsKey("Apple"); // 检查键"Apple"boolean hasValue = map.containsValue(2); // 检查值2System.out.println("Contains key 'Apple': " + hasKey);System.out.println("Contains value 2: " + hasValue);}
}
删除键值对
  • remove(Object key):根据键删除对应的键值对。

import java.util.HashMap;
import java.util.Map;public class MapRemoveExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 1);map.put("Banana", 2);map.remove("Apple"); // 删除键为"Apple"的键值对System.out.println("Updated map: " + map);}
}

2.3 Map的不同实现类

实现类特点
HashMap基于哈希表实现,允许null键和null值,线程不安全,性能高
TreeMap基于红黑树实现,按键的自然顺序或自定义顺序排序,不允许null
LinkedHashMap维护插入顺序,性能与HashMap接近,线程不安全
HashTable线程安全,不允许null键或null值,性能较低

三、Set集合

3.1 Set集合介绍

Set是Java集合框架中的一个接口,它不允许存储重复元素。Set中的元素通常没有固定的存储顺序,但某些实现类(如TreeSet)可以保持有序。常见的Set实现类有HashSetLinkedHashSetTreeSet

3.2 Set集合的常见方法

添加元素
  • add(E e):向集合中添加一个元素,如果元素已存在,则返回false

import java.util.HashSet;
import java.util.Set;public class SetAddExample {public static void main(String[] args) {Set<String> set = new HashSet<>();boolean added1 = set.add("Apple"); // 添加元素boolean added2 = set.add("Banana");boolean added3 = set.add("Apple"); // 尝试添加重复元素System.out.println("Added 'Apple': " + added1);System.out.println("Added 'Banana': " + added2);System.out.println("Added 'Apple' again: " + added3);System.out.println("Set content: " + set);}
}
检查元素是否存在
  • contains(Object o):检查集合中是否包含指定元素。

import java.util.HashSet;
import java.util.Set;public class SetContainsExample {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");boolean containsApple = set.contains("Apple"); // 检查是否包含"Apple"boolean containsOrange = set.contains("Orange"); // 检查是否包含"Orange"System.out.println("Contains 'Apple': " + containsApple);System.out.println("Contains 'Orange': " + containsOrange);}
}
移除元素
  • remove(Object o):从集合中移除指定元素。

import java.util.HashSet;
import java.util.Set;public class SetRemoveExample {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");boolean removed = set.remove("Apple"); // 移除"Apple"System.out.println("Removed 'Apple': " + removed);System.out.println("Set content after removal: " + set);}
}

3.3 Set的不同实现类

实现类特点
HashSet基于哈希表实现,无序,允许null值,线程不安全
LinkedHashSet维护插入顺序,性能与HashSet接近,线程不安全
TreeSet基于红黑树实现,按键的自然顺序或自定义顺序排序,不允许null

总结

  • List是一个有序的集合,允许重复元素,适合需要频繁访问元素的场景。

  • Map是一个键值对集合,键唯一,值可以重复,适合需要通过键快速查找值的场景。

  • Set是一个不允许重复元素的集合,适合需要存储唯一元素的场景。

通过掌握这些集合的特点和常见方法,我们可以根据具体需求选择合适的集合类型,从而更高效地处理数据。希望这篇文章对你有所帮助!

相关文章:

Java集合框架中的List、Map、Set详解

在Java开发中&#xff0c;集合框架是处理数据时不可或缺的工具之一。今天&#xff0c;我们来深入了解一下Java集合框架中的List、Map和Set&#xff0c;并探讨它们的常见方法操作。 目录 一、List集合 1.1 List集合介绍 1.2 List集合的常见方法 添加元素 获取元素 修改元素…...

国产的 Java Solon v3.2.0 发布(央企信创的优选)

Solon 框架&#xff01; Solon 是新一代&#xff0c;Java 企业级应用开发框架。从零开始构建&#xff08;No Java-EE&#xff09;&#xff0c;有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议&#xff0c;是“杭州无耳科技有限公司”开源的根级项目&#xff…...

机器学习决策树

一、何为决策树 决策树&#xff08;Decision Tree&#xff09;是一种分类和回归方法&#xff0c;是基于各种情况发生的所需条件构成决策树&#xff0c;以实现期望最大化的一种图解法。由于这种决策分支画成图形很像一棵树的枝干&#xff0c;故称决策树。它的运行机制非常通俗易…...

Java集合及面试题学习

知识来源沉默王二、小林coding、javaguide 1、ArrayList list.add("66") list.get(2) list.remove(1) list.set(1,"55") List<String> listnew ArrayList<>(); 底层是动态数组 添加元素流程&#xff1a;判断是否扩容&#xf…...

【内置函数】84个Python内置函数全整理

Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09; 文章目录 Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09;一、数值与数学函数abs(x)divmod(a, b)pow(x, y, modNone)round(number[, ndigits])sum(iterable, /, start0)hash(obj) …...

【LeetCode 热题 100】双指针 系列

&#x1f4c1;283. 移动零 对于该题目&#xff0c;需要注意的是两个地方&#xff0c;一是保持非零元素的相对顺序&#xff0c;以及O(1)的空间复杂度。 采用双指针的思路&#xff0c;将数组划分成3个区间,。 [0 , left]&#xff1a;该区间内元素全是非零元素。 [left1 , right…...

实现批量图片文字识别(python+flask+EasyOCR)

话不多说,向上效果图 1)先说框架版本 为什么要先说框架版本呢,因为我在各种版本中尝试了两天,总算确定了如下版本适合我,至于其他的版本,各位自己去尝试 python 3.9.7 EasyOCR 1.7.2 flask 3.0.3 2)执行操作效果图 2.1)多选文件 2.2)图片预览 2.3)提取选中文件 2.4)提取所有文…...

[Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)

操作&#xff1a; platform :ios, 14.0target ZKMKAPP do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!# Pods for ZKMKAPPpod Moyaend pod install成功后运行报错 报错&#xff1a; error: Sandbox: bash(84760) deny(1) file-writ…...

文档内容提取以及合成

如何从10个左右的docx文档中抽取内容&#xff0c;生成新的文档&#xff0c;抽取内容包括源文档的文字内容、图片、表格、公式等&#xff0c;以及目标文档的样式排版、字体、格式&#xff0c;还有目标文档的语言风格、用词规范、文法习惯等等。这是一个相当复杂的需求&#xff0…...

[Windows] Wireshark 网络抓包工具 v4.4.6

[Windows] Wireshark 网络抓包工具 链接&#xff1a;https://pan.xunlei.com/s/VOODTZ7Lm2gsNLoFNcOIqflzA1?pwdf3ea# 软件说明Wireshark&#xff08;前称Ethereal&#xff09;是一款免费开源的网络嗅探抓包东西&#xff0c;世界上最流行的网络协议剖析器&#xff01;网络封…...

在Ubuntu中安装hadoop的详细过程

在Ubuntu中安装hadoop的详细过程 请自行安装Ubuntu系统&#xff08;可参考&#xff1a;在VMWare中安装Linux虚拟机Ubuntu&#xff09; 一、创建hadoop用户 如果在安装 Ubuntu 的时候不是用的 “hadoop” 用户&#xff0c;这时需要增加一个名为 hadoop 的用户。 首先打开终端…...

NOIP2017提高组.列队

目录 *数据结构模板题目算法标签: 模拟, 线段树, 线段树动态开点, 树状数组, 平衡树思路*前置代码完整注释代码精简注释代码 *数据结构模板 题目 530. 列队 算法标签: 模拟, 线段树, 线段树动态开点, 树状数组, 平衡树 思路 首先考虑简单情况, 如果只有一行, 删除一个位置…...

PSN港服跳过生日找回密码(需要英语对话,需要注册的id)

登陆这个网站 https://www.playstation.com/en-hk/support/contact-us/?categoryAcc&subCategorypw 随便输入点名字 firstname 跟lastname 勾选&#xff0c;然后打开机器人聊天 然后按照提示输入邮箱跟id&#xff0c;输入正确之后会分配真人客服 真人客服会要求提供第一次…...

服务治理-服务注册

一个服务在真实项目部署的时候&#xff0c;如果压力较大&#xff0c;会做多实例部署。 在IDEA里面做多实例部署的话&#xff0c;只需要配置多个启动项。...

Jinja2模板引擎SSTI漏洞

1. 引入 再研究大模型相关应用的漏洞CVE-2025-25362时&#xff08;参考1&#xff09;&#xff0c;看到作者给了比较详细的分析&#xff08;参考2&#xff09;。下面对这个漏洞做个介绍。 2. 漏洞类型 这个漏洞属于CWE-1336&#xff0c;它主要关注在使用模板引擎进行脚本化处…...

STM32单片机教程:从零开始打造智能天气时钟

STM32单片机教程&#xff1a;从零开始打造智能天气时钟 大家好&#xff01;今天我想为大家详细介绍一下我们的STM32课程&#xff0c;以及如何从零基础逐步掌握单片机开发技能&#xff0c;最终实现一个完整的智能天气时钟项目。 课程面向人群 本课程主要面向那些已经通过野火…...

c++_csp-j算法 (1)

DFS搜索(深度优先搜索) 讲解 第一部分&#xff1a;DFS搜索算法简介 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种常用的图搜索算法&#xff0c;用于遍历或搜索图或树的所有节点。DFS算法的核心思想是尽可能深地搜索图的分支&#xff0c;直…...

word选中所有的表格——宏

Sub 选中所有表格()Dim aTable As TableApplication.ScreenUpdating FalseActiveDocument.DeleteAllEditableRanges wdEditorEveryoneFor Each aTable In ActiveDocument.TablesaTable.Range.Editors.Add wdEditorEveryoneNextActiveDocument.SelectAllEditableRanges wdEdito…...

16、堆基础知识点和priority_queue的模拟实现

一、priority_queue的使用方法 priority_queue的使用方法看这篇文章 二、堆 1、介绍 堆&#xff08;Heap&#xff09;是一种特殊的完全二叉树数据结构&#xff0c;满足以下性质&#xff1a; 堆序性质&#xff08;Heap Property&#xff09;&#xff1a; 大顶堆&#xff08…...

20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤

20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤 2025/4/19 15:38 查询格式YUV/RGB 81 09 04 24 60 FF 90 50 00 00 FF 查询辨率帧率 81 09 04 24 72 FF 90 50 01 03 FF 查询LVDS mode : Singel output/Dual output 81 09 04 24 74 FF 90 50 00 00 FF 配置405的机…...

【信息系统项目管理师】高分论文:论信息系统项目的采购管理(信息化办公系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划采购管理2、实施采购3、管理采购论文 随着信息化技术的发展,从企业到政府,传统的办公模式正在悄然消失,信息化办公模式正成为主流。特别是国务院印发的《关于加快推广“互联网+政务服务”工作的…...

国产GPU生态现状评估:从寒武纪到壁仞的编程适配挑战

近年来&#xff0c;国产GPU厂商在硬件性能上持续突破&#xff0c;但软件生态的构建仍面临严峻挑战。本文以寒武纪、壁仞等代表性企业为例&#xff0c;对比分析其与CUDA生态的兼容性差异&#xff0c;并探讨技术突围路径。 一、编程适配的核心挑战 ‌编程模型差异与开发成本‌ …...

Linux(autoDL云服务器)mamba-ssm环境安装——一次成功!

1.创建环境选择torch2.0&#xff0c; cuda11.8&#xff0c;python3.8 2.从GitHub官网下载cp38对应的&#xff0c;causl_conv1d&#xff0c;和mamba-ssm2.2.2。下载入下图所示。 3.直接用finalshell 或者xshell连接服务器上传&#xff0c;到根目录下面。 直接用pip install *…...

手搓LeNet-5(基础模型)实现交通标志识别

手搓LeNet-5&#xff08;基础模型&#xff09;实现交通标志识别 一、环境准备1. 安装Python环境2. 安装CUDA&#xff08;可选&#xff0c;仅需GPU加速时&#xff09;3. 配置虚拟环境4. 安装PyTorch核心库5. 安装辅助库6. 验证安装7. 准备数据集8.常见问题处理 二、 数据集处理三…...

TV主板的拆解学习

下面是小米的电视机主板&#xff0c;电源采用PFCLLC方案&#xff0c;主控采用电视盒子主控采用晶晨半导体T962-H&#xff0c;搭配2G南亚DDR3L内存和8G三星eMMC存储器。 本文用来加深对TV主板的认识&#xff0c;学习于充电头网&#xff0c;链接在文末。 两颗蓝色插件Y电容来自S…...

PH热榜 | 2025-04-19

1. Omakase.ai Voice 标语&#xff1a;你的语音驱动销售助手。一个链接。 介绍&#xff1a;Omakase.ai Voice将您的网站转变为一个语音驱动的销售助手&#xff0c;它可以在客户浏览时进行对话、倾听并给出推荐。聊天机器人往往效果不佳——它们无法实现销售&#xff0c;而这个…...

LeetCode(Hot.2)—— 49.字符异位词分组题解

Problem: 49. 字母异位词分组 字母异位词的定义是&#xff1a;两个单词的字母组成一样&#xff0c;但顺序可以不同&#xff0c;比如 eat、tea 和 ate 就是一个组的。 思路 将每个字符串按字母排序&#xff0c;把排序后的字符串作为 key&#xff0c;相同 key 的放在一个 list 中…...

UE学习记录part19

231 insect: insect enemy type 创建dead动画资源 往insect head上添加socket 创建攻击root motion动画。motion warping需要与root motion合作使用 为buff_blue创建物理资产 设置simulate physic使sinsect死亡后能落到地板上而不是漂浮在空中&#xff0c;要将die函数设置为 -…...

不连续数据区间天数累计sql

计算不连续数据区间天数并且剔除重复天数 create table loan_data(loan_no varchar(10),cust_no varchar(10),start_date date,end_date date )INSERT INTO loan_data VALUES (LN001, CUST001, 2025-01-04, 2025-01-08); INSERT INTO loan_data VALUES (LN002, CUST001, 2025-…...

django基于爬虫的网络新闻分析系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 本网络新闻分析系统采用B/S架构&#xff0c;数据库是MySQL&#xff0c;网站的搭建与开发采用了先进的Python进行编写&#xff0c;使用了Django框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。前台主要功能包括&#xff1a;用户注册、登录、浏览…...

JAVA文件I/O

目录 一、三种路径的分类&#xff1a; 1、绝对路径&#xff1a; 2、相对路径&#xff1a; 3、基准目录&#xff1a; 二、文件的种类&#xff1a; 三、利用JAVA操作文件&#xff1a; 1、File类的构造方法&#xff1a; 2、File 类方法的使用&#xff1a; 使用例子&#…...

第七周作业

一、分别在前端和后端使用联合注入实现“库名-表名-字段名-数据”的注入过程&#xff0c;写清楚注入步骤 1、爆库 后端sql语句&#xff1a;select database(); 前端&#xff1a;1 order by 1#&#xff0c;1 order by 2#&#xff0c;1 order by 3# 判断显示位为两位1 union sel…...

Linux 进程信号详解

进程信号 信号是进程之间事件异步通知的一种方式&#xff0c;属于软中断。 kill -l //查看不同信号代表的事件 执行kill -l 可以看到共有62种信号&#xff0c;其中&#xff1a; 0-31号信号为非可靠信号&#xff08;这部分信号借鉴于UNIX系统的信号&#xff09;&#xff1b;…...

MCP 应用案例-网络设备批量管理

案例背景 需求痛点 企业需管理数百台跨地域网络设备&#xff08;交换机/路由器&#xff09;&#xff0c;传统方式存在&#xff1a; 人工SSH登录效率低脚本维护成本高&#xff08;不同厂商CLI语法差异&#xff09;状态监控依赖独立监控系统 解决方案 通过MCP协议构建智能网络…...

进程程序替换

fork() 之后,⽗⼦各⾃执⾏⽗进程代码的⼀部分如果⼦进程就想执⾏⼀个全新的程序呢&#xff1f;进程的程序 替换来完成这个功能&#xff01; 程序替换是通过特定的接⼝&#xff0c;加载磁盘上的⼀个全新的程序(代码和数据)&#xff0c;加载到调⽤进程的地址空间中&#xff01…...

6.7 ChatGPT自动生成定时任务脚本:Python与Cron双方案实战指南

ChatGPT自动生成定时任务脚本:Python与Cron双方案实战指南 关键词:定时任务调度, ChatGPT 代码生成, Cron 脚本开发, Python 调度器, 自动化更新系统 6.3 使用 ChatGPT 生成 Cron 调度脚本 在 GitHub Sentinel 的定期更新功能中,定时任务调度是核心模块。本节演示如何通过…...

废物九重境弱者学JS第十四天--构造函数以及常用的方法

目录 JavaScript 进阶 - 第2天 深入对象 构造函数 实例成员 静态成员 内置构造函数 Object Array 包装类型 String Number 案例 JavaScript 进阶 - 第2天 了解面向对象编程的基础概念及构造函数的作用&#xff0c;体会 JavaScript 一切皆对象的语言特征&#xff0c…...

机器学习+深度学习

文章目录 一、机器学习(一)机器学习概念(二)机器学习基本流程(三)机器学习应用场景二、机器学习的常见工具与相关库(一)Python 机器学习库(二)数据处理库(三)可视化库三、聚类算法思想与模型搭建过程(一)K - Means 聚类算法(二)DBSCAN 聚类算法四、分类算法思想…...

docker基本使用命令

一、镜像 1、拉取镜像 docker pull busybox docker pull nginx:1.26-alpine 2、查看本地镜像 [rootRocky-1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4e1b6bae1e48 18 hours ago 192MB busybox lates…...

相机模型--CMOS和CCD的区别

1--CMOS和CCD的工作原理 CCD&#xff08;Charge Coupled Device&#xff0c;电荷耦合器件&#xff09;&#xff1a; 1. 图像通过光电效应在感光单元中转化为电荷&#xff1b; 2. 每个像素上的电荷被依次“耦合”并传输到芯片的角落&#xff0c;通过一个或几个模拟输出放大器输…...

触发器(详解)

一&#xff1a;MySQL触发器 MySQL数据库中触发器是一个特殊的存储过程。 不同的是执行存储过程要使用 CALL 语句来调用&#xff0c;而触发器的执行不需要使用 CALL 语句来调用&#xff0c;也不需要手工启动&#xff0c;只要一个预定义的事件发生就会被 MySQL自动调用。 引发…...

Vue 3 中将 ref 创建的响应式对象数据转换为普通(非响应式)的数据

Vue 3 中使用 ref 创建的响应式对象数据转换为普通&#xff08;非响应式&#xff09;的数据&#xff0c;有以下几种方法&#xff1a; 1. 访问 .value 属性: 这是最直接、最常见的方法。 由于 ref 对象的值存储在其 .value 属性中&#xff0c;直接访问该属性即可获得普通数据。…...

Vue基础(6)_键盘事件

普通键盘事件 键盘事件常用的有两个&#xff1a;keydown、keyup。 举例&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><script type"text/javascript" src"../js/vue.js"&…...

Kubernetes控制平面组件:高可用 APIServer

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

这个是我的qss按钮样式 和之前的// 应用全局样式表 QString style = R“(是会冲突吗,导致我的按钮背景颜色是黑色,我该怎么修改

/* 样式 A */ *[style-type="A"] { background-color:#cfd1d4; border: none; border-radius: 50%; /* 圆形边框 */ padding: 7px 14px; } *[style-type="A"]:hover { background-color: #45a049; }这个是我的qss按钮样式 和之前的// 应用全局样式表 QStri…...

Kubernetes控制平面组件:API Server详解(二)

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

人工智能在智慧农业中的应用:从田间到餐桌的变革

农业是人类社会的基石&#xff0c;随着全球人口的增长和资源的日益紧张&#xff0c;传统农业面临着巨大的挑战。近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展为农业带来了新的机遇。智慧农业通过将AI技术与农业生产相结合&#xff0c;实现了从田间种植…...

多人3D游戏完整实现方案

以下是一份完整的代码实现方案,涵盖架构设计、核心模块实现和部署流程。我们以 多人3D游戏 为例,结合之前讨论的Nano服务端框架和Unity客户端: 技术栈 模块技术选型服务端Golang + Nano框架 + MongoDB客户端Unity 2022 + C# + Mirror Networking通信协议Protobuf + WebSock…...

FFUF指南

ffuf 的核心功能&#xff1a; 目录/文件发现&#xff1a; 通过暴力破解&#xff08;使用字典&#xff09;探测目标网站的隐藏目录或文件&#xff0c;例如&#xff1a; ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ 子域名枚举&#xff1a; 通过模糊测试发现目标…...

详细的PyCharm安装教程

详细的PyCharm安装教程 安装前准备 确认系统要求&#xff1a; Windows&#xff1a;Microsoft Windows 10 1809 64位或更高版本&#xff0c;Windows Server 2019 64位或更高版本。 macOS&#xff1a;12.0或更高版本。 Linux&#xff1a;满足以下要求的两个最新版本的Ubuntu LTS或…...