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

数组 (java)

文章目录

  • 一维数组
    • 静态初始化
    • 动态初始化
  • 二维数组
    • 静态初始化
    • 动态初始化
  • 数组参数传递
  • 可变参数
  • 关于 main 方法的形参 args
  • Array 工具类
    • sort 中的 comparable 和 comparator
      • comparator 比较器排序
      • comparable 自然排序

一维数组

线性结构

静态初始化

第一种:int[] arr = {1,2,3,4},
第二种:int[] arr = new int[] {1,2,3,4,5};

括号放变量名后面也行



动态初始化

int[] arr = new int[5];
arr[0] = 1;

动态初始化后,都会有默认值
在这里插入图片描述




二维数组

二维数组就是中的每个元素都是一个一维数组

在这里插入图片描述

静态初始化

第一种:int[][] arr = {{1,2,3,4,},{1,2,3}};
第二种:int[][] arr2 = new int[][] {{1,2}, {1}};


动态初始化

等长:int[][] arr = new int[5][4];//表示有3个一维数组,长度可以自己定制
不等长:int[][] arr = new int[3][];arr[0] = new int[4];arr[1] = new int[2];arr[2] = new int[2];



数组参数传递

public class Teset {public static void main(String[] args) {int[][] arr = new int[][] {{1,2,3},{1,2}};System.out.println(arr); //[[I@4eec7777int[][] newarr = func(arr);System.out.println(newarr);//[[I@4eec7777}public static int[][] func(int[][] arr) {for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]);}System.out.println();}return arr;}
}

数组是引用类型,所以传的是地址,而且会影响传过来的数组的值,因为传的是地址,返回值这块也是把原本的地址返回去




可变参数

ublic class Teset {public static void main(String[] args) {int[] arr3 = func(1,2,3,4);System.out.println(arr3);//[I@4eec7777int[] arr4 = func(1,2,3);System.out.println(arr4);//[I@3b07d329int[] arr = new int[] {1,2,3,4};System.out.println(arr);//[I@41629346int[] arr2 = func(arr);System.out.println(arr2);//[I@41629346}public static int[] func(int...num) {return num;}}

可变参数本质上就是一个一维数组

在形参列表中,可变参数只能有一个,并且只能在参数列表的末尾出现




关于 main 方法的形参 args

作用:接收命令行参数用的,例如cmd中的 ipconfig -t 这个 -t 就是命令行参数

public class array {public static void main(String[] args) {}  
}

jvm 调用 array.main 方法的时候,创建一个 string 数组, 对"命令行参数" “abc def xyz" 以空格进行拆分,生成一个新的数组对象,最后这个数组对象是 String[] args = {“abc”, “def”, “xyz”},没有指定命令行参数,那它就是个长度为 0 的数组

需求

使用系统,需要提供正确口令(用户名和密码)在只有命令行的情况下

如果用户名是admin 并且密码是 admin123,则表示合法用户,非法用户直接退出,




Array 工具类

在这里插入图片描述
超过4096个数据用 parallelsort



sort 中的 comparable 和 comparator

sort 实现的是自然排序

comparator 比较器排序

这里匿名内部类, 实现底层的 comparator 接口,然后重写 compare 方法,得到一个比较器对象
返回正数:大的数放后面 (o1 > o2 )
返回负数:小的数放后面 (o1 < o2 )
相等:直接放一样的后面 (o1 = o2 )

public class Teset {public static void main(String[] args) {Integer[] arr = {1,2,1,3,2,5,4};Arrays.sort(arr, new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}});System.out.println(Arrays.toString(arr));}}


comparable 自然排序

自定义的类,没有没有自然排序,所以要自己实现
返回正数:大的数放后面 (o1 > o2 )
返回负数:小的数放后面 (o1 < o2 )
相等:直接放一样的后面 (o1 = o2 )

public class Teset {public static void main(String[] args) {Test test = new Test(10);Test test1 = new Test(4);Test test2 = new Test(30);Test[] tarr = {test, test1, test2};//自定义类底层没有自然排序所以要自己实现一个,不然会报错Arrays.sort(tarr);System.out.println(Arrays.toString(tarr));}}class Test implements Comparable {int age;public Test(int age) {this.age = age;}@Overridepublic int compareTo(Object o) {Test t = (Test) o;return this.age - t.age;}@Overridepublic String toString() {return "Test{" +"age=" + age +'}';}
}

相关文章:

数组 (java)

文章目录 一维数组静态初始化动态初始化 二维数组静态初始化动态初始化 数组参数传递可变参数关于 main 方法的形参 argsArray 工具类sort 中的 comparable 和 comparatorcomparator 比较器排序comparable 自然排序 一维数组 线性结构 静态初始化 第一种&#xff1a;int[] a…...

时序预测 | Matlab基于Transformer多变量时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于Transformer多变量时间序列多步预测&#xff1b; 2.多变量时间序列数据集&#xff08;负荷数据集&#xff09;&#xff0c;采用前96个时刻预测的特征和负荷数据预测未来96个时刻的负荷数据&#xff1b; 3…...

suuk-s.php.jpg-python 库劫持

做virtualBox的端口映射吧 suukmedim文件白名单绕过、反弹shell、$paht环境变量更改、python 库劫持提权、Reptile提权、sandfly-processdecloak使用 服务扫描 ┌──(kali㉿kali)-[~] └─$ sudo nmap -sV -A -T 4 -p 22,80 192.168.18.238GetSHell 访问80http://192.168.…...

python3GUI--ktv点歌软件By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.启动2.搜索2.服务1.首页2.天气预报3.酒水饮料4.酒水饮料2 3.服务4.灯光5.调音6.排行榜7.分类点歌9.歌手点歌10.歌手个人页 三&#xff0e;心得体会1.关于代码2.关于设计3.关于打包 四&#xff0e;总结 文件大小&#xff1a;33.…...

opencascade AIS_InteractiveContext源码学习2

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…...

scale()函数详解

scale()函数是R语言中用于标准化和中心化数据的一个函数。这个函数通常用于数据预处理&#xff0c;以便于后续的分析和建模。下面是对scale()函数的详细介绍&#xff1a; 用法 scale(x, center TRUE, scale TRUE)参数 x: 一个数值型向量、矩阵或数据框&#xff0c;是需要进…...

计算机基础学习有多重要?学哪些?如何学?

计算机基础是我们计算机生涯的开始&#xff0c;而对大学生来说&#xff0c;基础是一方面&#xff0c;更重要的是应对面试。这样说吧&#xff0c;校招&#xff1a;计算机基础占90%&#xff0c;专业知识占10%&#xff0c;社招&#xff1a;计算机基础占20%&#xff0c;专业知识占8…...

Oracle day9

------------------------------------------------------------------------------------ --创建用户 create user test1 identified by 123456; create user ZJun identified by 888888; --授予权限 grant create session to test1; grant create session to ZJun; --删除用…...

Race Condition竞争条件

Race Condition Question – why was there no race condition in the first solution (where at most N – 1) buffers can be filled?Processes P0 and P1 are creating child processes using the fork() system callRace condition on kernel variable next_available_pid…...

docker 删除本地镜像释放磁盘空间

时间一长&#xff0c;本地镜像文件特别多&#xff1a; 1 linux 配置crontab 定期删除 crontab l 查看 crontab e 编辑 30 3 * * * /home/mqq/gengmingming/cleanImage-realize.sh > /home/mqq/gengmingming/cleanImage-realize.log 2>&12 cleanImage-realize.sh …...

JVM中的垃圾回收器

文章目录 垃圾回收器发展史垃圾回收器分类按线程数分类按工作模式分类按处理方式分类 查看默认垃圾收集器评估垃圾回收器性能指标吞吐量暂停时间吞吐量对比暂停时间 7种经典的垃圾回收器垃圾回收器与垃圾分代垃圾收集器的组合关系Serial GCParNew GCParallel Scavenge GCSerial…...

记录一些可用的AI工具网站

记录一些可用的AI工具网站 AI对话大模型AI图片生成AI乐曲生成AI视频生成AI音频分离 AI对话大模型 当前时代巅峰&#xff0c;Microsoft Copilot&#xff1a;https://copilot.microsoft.com AI图片生成 stable diffusion模型资源分享社区&#xff0c;civitai&#xff1a;https…...

vue3页面传参

一&#xff0c;用query传参 方法&#xff1a; router.push({path: ‘路由地址’, query: ‘参数’}) 例子&#xff1a;a页面携带参数跳转到b页面并且b页面拿到a页面传递过来的参数 在路由router.ts配置 a页面&#xff1a; <template><div >a页面</div>…...

QNX OS微内核系统

微内核架构 微内核(Microkernel)架构是一种操作系统架构模式,其核心思想是尽量将操作系统的基本功能压缩在最小的核心中,而将其他服务(如设备驱动、文件系统、网络协议等)放在用户空间中运行,从而增加系统的灵活性和安全性,这种架构有几个主要特点和优势: 最小化核心…...

ViT:5 Knowledge Distillation

实时了解业内动态&#xff0c;论文是最好的桥梁&#xff0c;专栏精选论文重点解读热点论文&#xff0c;围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;…...

2024头歌数据库期末综合(部分题)

目录 第7关&#xff1a;数据查询三 任务描述 知识补充 答案 第8关&#xff1a;数据查询四 任务描述 知识补充 答案 本篇博客声明&#xff1a;所有题的答案不在一起&#xff0c;可以去作者博客专栏寻找其它文章。 第7关&#xff1a;数据查询三 任务描述 本关任务&#x…...

【Flask】学习

参考B站视频&#xff1a;https://www.bilibili.com/video/BV1v7411M7us/ 目录 第一讲 什么是 flask 修饰器、路由规则 flask 变量规则&#xff0c;灵活传参数据类型&#xff1a;str、int、float&#xff08;正浮点数&#xff0c;传int会报错&#xff09;、path、uuid app.…...

图像数字化基础

一、像素 1、获取图像指定位置的像素 import cv2 image cv2.imread("E:\\images\\2.png") px image[291,218] print("坐标(291,218)上的像素的BGR值是&#xff1a;",px) &#xff08;1&#xff09;RGB色彩空间 R通道&#xff1a;红色通道 G通道&…...

让你的Python代码更简洁:一篇文章带你了解Python列表推导式

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 列表推导式 📒📝 语法📝 条件筛选📝 多重循环📝 列表推导式的优点📝 使用场景📝 示例代码🎯 示例1🎯 示例2⚓️ 相关链接 ⚓️📖 介绍 📖 在Python编程中,列表推导式是一种强大且高效的语法,它允许你用…...

基于Matlab的BP神经网络的车牌识别系统(含GUI界面)【W7】

简介&#xff1a; 本系统结合了图像处理技术和机器学习方法&#xff08;BP神经网络&#xff09;&#xff0c;能够有效地实现车牌的自动识别。通过预处理、精确定位、字符分割和神经网络识别&#xff0c;系统能够准确地识别各种车牌图像&#xff0c;并在智能交通管理、安防监控等…...

子高斯随机变量与深度学习异常检测原理

1. 子高斯随机变量基础解析子高斯随机变量是概率论中一类具有特殊尾部性质的分布。简单来说&#xff0c;一个随机变量X如果满足存在常数σ>0&#xff0c;使得对于所有λ∈R都有E[exp(λX)] ≤ exp(λσ/2)&#xff0c;那么我们就称X是σ-子高斯的。这类分布的关键特征是它们…...

基于Claude API的智能银行应用原型:AI-First前端交互架构实践

1. 项目概述&#xff1a;一个基于Claude API的智能银行应用原型 最近在GitHub上看到一个挺有意思的开源项目&#xff0c;叫“ClaudeBankingApp”。光看名字&#xff0c;你可能会觉得这是个什么复杂的金融科技产品&#xff0c;其实不然。这是一个由开发者tzockoll-creator创建的…...

Arm Neoverse CMN-650架构解析与性能优化

1. Arm Neoverse CMN-650架构概览CMN-650是Arm Neoverse平台中的第三代一致性网格网络(Coherent Mesh Network)互连技术&#xff0c;专为高性能计算和数据中心场景设计。作为SoC内部的核心互连架构&#xff0c;它承担着连接处理器集群、内存控制器、I/O子系统以及加速器单元的关…...

支持 SSML 标签,让配音精准控制语调与重音

&#x1f3af; 支持 SSML 标签&#xff0c;让配音精准控制语调与重音在文字转语音&#xff08;TTS&#xff09;应用中&#xff0c;机械感的读音往往缺乏情感。 顶伯文字转语音工具全面支持 SSML&#xff08;语音合成标记语言&#xff09; 标签&#xff0c;让您通过简单标记精准…...

【深度解析】Qwen 3.6 vs Gemma 4:本地大模型时代,如何选对“日常开发模型”

摘要&#xff1a; 开源权重模型正在快速逼近闭源模型能力边界。本文结合 Qwen 3.6 与 Gemma 4 的实际案例&#xff0c;从架构、上下文、显存、基准测试到落地场景&#xff0c;拆解本地大模型选型逻辑&#xff0c;并给出可直接运行的 Python 调用示例。 背景介绍 近两年&#xf…...

从CuteCom到代码:手把手教你用I.MX6ULL实现串口双向通信(附完整工程)

从CuteCom到代码&#xff1a;手把手教你用I.MX6ULL实现串口双向通信 在嵌入式开发中&#xff0c;串口通信是最基础也最关键的调试手段之一。无论是简单的日志输出&#xff0c;还是复杂的数据交互&#xff0c;串口都扮演着不可或缺的角色。本文将带你从零开始&#xff0c;在I.MX…...

GetQzonehistory终极指南:三步快速备份QQ空间全部历史说说

GetQzonehistory终极指南&#xff1a;三步快速备份QQ空间全部历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字记忆时代&#xff0c;QQ空间承载了无数用户的青春回忆和成长…...

Promises/A+完全指南:深入理解JavaScript异步编程标准规范

Promises/A完全指南&#xff1a;深入理解JavaScript异步编程标准规范 【免费下载链接】promises-spec An open standard for sound, interoperable JavaScript promises—by implementers, for implementers. 项目地址: https://gitcode.com/gh_mirrors/pr/promises-spec …...

OpenClaw 对接企业微信实操教程 完整配置流程

OpenClaw 绑定企业微信教程 OpenClaw 连接企业微信图文教程 前置准备 已安装并可以正常打开 OpenClaw Windows。OpenClaw 顶部 Gateway 状态保持在线。已安装并登录企业微信客户端。当前企业微信账号具备创建和管理智能机器人的权限。准备一个可用于测试的企业微信账号或群聊…...

零编程DIY柔性硅胶霓虹LED灯带:低成本打造专属自拍背景墙

1. 项目概述&#xff1a;打造你的专属发光背景每次刷社交媒体&#xff0c;看到那些博主在酷炫的霓虹灯背景前拍出质感大片&#xff0c;是不是心里也痒痒的&#xff1f;但一想到定制霓虹灯牌动辄上千的费用和复杂的安装&#xff0c;热情瞬间被浇灭一半。别急&#xff0c;今天分享…...