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

250214-java类集框架

单列集合是list和set,list的实现类有ArrayList和LinkedList,前者是数组实现,后者是链表实现。list和set,前者有序、可重复,后者无序不可重复。

1.单列集合

1.1. list

java.util.List接口继承自Collection接口,它的实现类包括ArrayList、LinkedList、Vector等

list接口的方法比如下面:

实例如下:

import java.util.ArrayList;
import java.util.List;
public class ListDemo
{public static void main(String[] args){List<Integer> a=new ArrayList<Integer>();System.out.println("在集合尾部添加指定元素");a.add(1);a.add(2);System.out.println(a);}
} 
//输出结果:在集合尾部添加指定元素
//[1, 2]

 见第七行的List<Integer> a=new ArrayList<Integer>();这其实是子类的向上转型,当然也可以不用转型,直接ArrayList<Integer> a=new ArrayList<Integer>()这样,都可以。前者呢,优点是变量a可以引用任何list实现类的对象,比如LinkedList、Vector的对象,而不需要修改变量声明的类型,例如

a = new LinkedList<Integer>();

 后者呢,变量a不仅可以调用父类的方法,还可以调用子类独有的方法。

明白了list接口的使用,那么list的实现类ArrayList、LinkedList、Vector等也差不多会用了。

1.2. set

java.util.Set接口同样继承自Collection接口,Set接口不同于List接口,它是抽象接口;它的实现类包括java.util.HashSet和java.util.LinkedHashSet等。

import java.util.HashSet;
public class SetDemo
{public static void main(String[] args){HashSet<Integer> a=new HashSet<Integer>();a.add(12);a.add(12);a.add(34);System.out.print(a);}
}
//输出结果:[34, 12]

输入两个12,但是最终集合里只有一个12,说明自动过滤掉重复元素。 

2.双列集合

map(映射)

java.util.Map,Map不同于List接口,它也是抽象接口;map接口的对象是键值对、关键字和值都是对象,关键字是唯一的,可以存相同的值,如果反复插入关键字,则新的替换旧的;

map的接口方法:

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

  • get(Object key):通过键获取值。

  • remove(Object key):删除指定键的键值对。

  • containsKey(Object key):判断是否包含某键。

  • keySet():返回所有键的集合(Set<K>)。

  • values():返回所有值的集合(Collection<V>)。

  • entrySet():返回所有键值对的集合(Set<Entry<K, V>>)。

import java.util.Map;
import java.util.HashMap;
public class MapDemo
{public static void main(String[] args){Map<String,Integer> a=new HashMap<>();a.put("小明",12);System.out.print(a);}
}
//输出结果:{小明=12}

 

 

相关文章:

250214-java类集框架

单列集合是list和set&#xff0c;list的实现类有ArrayList和LinkedList&#xff0c;前者是数组实现&#xff0c;后者是链表实现。list和set&#xff0c;前者有序、可重复&#xff0c;后者无序不可重复。 1.单列集合 1.1. list java.util.List接口继承自Collection接口&#…...

集成测试总结文档

1. 集成测试的定义 集成测试&#xff08;Integration Testing&#xff09;是在单元测试之后&#xff0c;将多个独立的软件模块或组件组合在一起进行测试的过程&#xff0c;目的是验证这些模块之间的接口、数据传递、协作逻辑是否符合设计要求&#xff0c;并发现因集成引发的缺…...

POI 的 Excel 读写操作教程

POI 的 Excel 读写操作教程 一、POI 简介 Apache POI 是一款在 Java 开发中广受欢迎的开源库&#xff0c;主要用于处理各种 Microsoft Office 文件格式&#xff0c;Excel 文件便是其中之一。凭借其功能强大的 API&#xff0c;POI 不仅支持对 Excel 文件的读取、写入和修改&am…...

ROS2 话题通信

1. 基本概念 发布-订阅模型&#xff1a;节点间通过话题&#xff08;Topic&#xff09;异步通信&#xff0c;发布者&#xff08;Publisher&#xff09;发送消息&#xff0c;订阅者&#xff08;Subscriber&#xff09;接收消息。 话题&#xff08;Topic&#xff09;&#xff1a;…...

【学习资源】时间序列数据分析方法(1)

时间序列数据分析是一个有趣的话题&#xff0c;让我们多花一些时间来研究。此篇为第一篇文章。主要介绍特征提取方法、深度学习时序数据分析模型、参考资源。期望能帮助大家解决工业领域的相关问题。 1 特征提取方法&#xff1a;信号处理 (来源:INTELLIGENT FAULT DIAGNOSIS A…...

Hadoop集群安装与配置指南(CentOS 7)

Hadoop集群安装与配置指南&#xff08;CentOS 7&#xff09; 一、虚拟机准备 安装虚拟机软件 下载VMware或VirtualBox&#xff0c;完成安装并激活。 注意&#xff1a;选择NAT模式&#xff0c;配置子网IP&#xff08;如192.168.10.0&#xff09;。 CentOS 7安装 下载CentOS 7…...

Streamlit与Qlib:量化投资策略可视化实战

Streamlit与Qlib&#xff1a;量化投资策略可视化实战 1. 项目背景 在量化投资领域&#xff0c;数据可视化是理解和展示投资策略的关键。本文将详细介绍如何使用Streamlit和Qlib构建一个交互式的量化投资策略可视化应用。 2. 环境准备 2.1 安装依赖 # 安装必要的库 pip ins…...

Ceph集群搭建2025(squid版)

squid版本维护年限 apt install -y cephadmecho >> "deb http://mirrors.163.com/ceph/debian-squid/ bookworm main" echo >> "deb-src http://mirrors.163.com/ceph/debian-squid/ bookworm main"#安装源 cephadm install #开始初始化一个最…...

机器学习实战(3):线性回归——预测连续变量

第3集&#xff1a;线性回归——预测连续变量 在机器学习的世界中&#xff0c;线性回归是最基础、最直观的算法之一。它用于解决回归问题&#xff0c;即预测连续变量&#xff08;如房价、销售额等&#xff09;。尽管简单&#xff0c;但线性回归却是许多复杂模型的基石。今天我们…...

【AI-34】机器学习常用七大算法

以下是对这七大常用算法的浅显易懂解释&#xff1a; 1. k 邻近算法&#xff08;k - Nearest Neighbors&#xff0c;KNN&#xff09; 想象你在一个满是水果的大广场上&#xff0c;现在有个不认识的水果&#xff0c;想知道它是什么。k 邻近算法就是去看离这个水果最近的 k 个已…...

【漫话机器学习系列】093.代价函数和损失函数(Cost and Loss Functions)

代价函数和损失函数&#xff08;Cost and Loss Functions&#xff09;详解 1. 引言 在机器学习和深度学习领域&#xff0c;代价函数&#xff08;Cost Function&#xff09;和损失函数&#xff08;Loss Function&#xff09;是核心概念&#xff0c;它们决定了模型的优化方向。…...

ThreadLocal为什么会内存溢出

每个线程(Thread 对象)内部维护一个 ThreadLocalMap,用于存储该线程的所有 ThreadLocal 变量的键值对: ThreadLocalMap虽然是ThreadLocal的静态内部类,但是Thread 对象的属性,当线程存活时ThreadLocalMap不会被回收。 Key:ThreadLocal 实例的 弱引用(WeakReference)。…...

LabVIEW 天然气水合物电声联合探测

天然气水合物被认为是潜在的清洁能源&#xff0c;其储量丰富&#xff0c;预计将在未来能源格局中扮演重要角色。由于其独特的物理化学特性&#xff0c;天然气水合物的探测面临诸多挑战&#xff0c;涉及温度、压力、电学信号、声学信号等多个参数。传统的人工操作方式不仅效率低…...

【记忆化搜索】最长递增子序列

文章目录 300. 最长递增子序列解题思路&#xff1a;递归 -> 记忆化搜索 300. 最长递增子序列 300. 最长递增子序列 ​ 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 ​ 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&am…...

Tomcat的升级

一、为什么Tomcat需要升级 在生产环境中&#xff0c;我们都会指定对应的Tomcat版本进行安排配置&#xff0c;但是由于Tomcat厂商对于小版本的更新迭代会将一些Bug修复&#xff0c;这个时候在生产中出现问题/预防出现问题&#xff0c;可以通过小版本的升级解决前提&#xff1a;…...

4-制作UI

创建模块文件夹 Unity编辑器->Tools->YIUI自动化工具&#xff0c;在新增模块名称那里输入模块名字并点击创建。便可看到在GameRes/YIUI文件夹下有新建的文件夹与内容了。里面包含图集、预制体、Sprites。如果进行预制体的修改&#xff0c;则需要双击进入再修改&#xff0…...

零基础学习人工智能

零基础学习人工智能是一个既充满挑战又极具潜力的过程。以下是一份详细的学习指南&#xff0c;旨在帮助零基础的学习者有效地踏入人工智能领域。 一、理解基本概念 在学习人工智能之前&#xff0c;首先要对其基本概念有一个清晰的认识。人工智能&#xff08;AI&#xff09;是…...

vue3+element-plus中的el-table表头和el-table-column内容全部一行显示完整(hook函数)

hook函数封装 export const useTableColumnWidth _this > {const { refTable } _thisconst columnWidthObj ref()const getTableColumnWidth cb > {nextTick(() > {columnWidthObj.value {}// 获取行rowsconst tableEle refTable?.refBaseTable?.$elif (!tab…...

Word写论文常用操作的参考文章

1.插入多个引用文献&#xff1a;word中交叉引用多篇参考文献格式[1-2]操作以及显示错误问题 更改左域名&#xff0c;输入 \#"[0" 更改右域名&#xff0c;输入 \#"0]" 2.插入题注&#xff1a;word 中添加图片题注、目录、内部链接 3.插入公式编号&#x…...

深度学习在蛋白质-蛋白质相互作用(PPI)领域的研究进展(2022-2025)

一、蛋白质-蛋白质相互作用&#xff08;PPI&#xff09;的定义与生物学意义 蛋白质-蛋白质相互作用&#xff08;Protein-Protein Interaction, PPI&#xff09;是指两个或多个蛋白质通过物理结合形成复合物&#xff0c;进而调控细胞信号传导、代谢、免疫应答等生命活动的过程。…...

C++基础知识(三)之结构体、共同体、枚举、引用、函数重载

九、结构体、共同体和枚举 1、结构体的基本概念 结构体是用户自定义的类型&#xff0c;可以将多种数据的表示合并到一起&#xff0c;描述一个完整的对象。 使用结构体有两个步骤&#xff1a;1&#xff09;定义结构体描述&#xff08;类型&#xff09;&#xff1b;2&#xff…...

【java】方法的值传递

在 Java 中&#xff0c;方法的值传递 是指将实参的值传递给方法的形参。Java 中只有 值传递&#xff0c;没有引用传递。具体来说&#xff1a; 对于 基本数据类型&#xff0c;传递的是值的副本。 对于 引用数据类型&#xff0c;传递的是引用的副本&#xff08;即地址的副本&…...

DeepSeek 助力 Vue 开发:打造丝滑的开关切换(Switch)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

使用Python爬虫实时监控行业新闻案例

目录 背景环境准备请求网页数据解析网页数据定时任务综合代码使用代理IP提升稳定性运行截图与完整代码总结 在互联网时代&#xff0c;新闻的实时性和时效性变得尤为重要。很多行业、技术、商业等领域的新闻都可以为公司或者个人发展提供有价值的信息。如果你有一项需求是要实时…...

Centos搭建python环境

在 CentOS 上配置 Python 环境可以通过以下步骤完成&#xff1a; 1. 检查系统自带 Python 版本 CentOS 7/8 可能已经自带了 Python&#xff1a; python3 --version 如果没有&#xff0c;或者版本过低&#xff0c;可以手动安装。 2. 安装 Python&#xff08;推荐&#xff0…...

语言大模型基础概念 一(先了解听说过的名词都是什么)

SFT&#xff08;监督微调&#xff09;和RLHF&#xff08;基于人类反馈的强化学习&#xff09;的区别 STF&#xff08;Supervised Fine-Tuning&#xff09;和RLHF&#xff08;Reinforcement Learning from Human Feedback&#xff09;是两种不同的模型训练方法&#xff0c;分别…...

DeepSeek-R1 蒸馏 Qwen 和 Llama 架构 企业级RAG知识库

“DeepSeek-R1的输出&#xff0c;蒸馏了6个小模型”意思是利用DeepSeek-R1这个大模型的输出结果&#xff0c;通过知识蒸馏技术训练出6个参数规模较小的模型&#xff0c;以下是具体解释&#xff1a; - **知识蒸馏技术原理**&#xff1a;知识蒸馏是一种模型压缩技术&#xff0c;核…...

ubuntu服务器 如何配置安全加固措施

下面提供一个更详细、一步步的服务器安全加固指南&#xff0c;适合新手操作。我们将从 Fail2Ban、SSH&#xff08;密钥认证及端口更改&#xff09;、Nginx 速率限制和日志轮转四个方面进行优化&#xff0c;同时补充一些额外的安全建议。 新的服务器&#xff0c;通常我们会创建一…...

DeepSeek v3 技术报告阅读笔记

注 本文参考 DeepSeek-v3 / v2 / v1 Technical Report 及相关参考模型论文本文不包括基础的知识点讲解&#xff0c;为笔记/大纲性质而非教程&#xff0c;建议阅读技术报告原文交流可发送至邮箱 henryhua0721foxmail.com 架构核心 核心&#xff1a; MLA 高效推理DeepSeekMOE 更…...

Spring 事务及管理方式

Spring 事务管理是 Spring 框架的核心功能之一&#xff0c;它为开发者提供了一种方便、灵活且强大的方式来管理数据库事务。 1、事务的基本概念 事务是一组不可分割的操作序列&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部失败回滚&#xff0c;以确保数据的一致…...