6.数组、排序和查找|Java学习笔记

news2024/12/23 18:37:44

文章目录

  • 数组
    • 数组使用注意事项和细节
    • 数组赋值机制
  • 排序
  • 查找
  • 相关链接

数组

数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。

数据类型 数组名[] = new 数据类型[大小];

int a[] 或者 int[] a 都可以。
int[] a = {1,2,3};

// 二维数组的声明方式有:
int[][] y 或 int[] y[]int y[][]
int map[][] = {{1,2},{3,4,5}};	// 列数不等的二维数组

数组使用注意事项和细节

  1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理。
  2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
  3. 数组创建后,如果没有赋值,有默认值:
    int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
  4. 使用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组。
  5. 数组的下标是从 0 开始的。
  6. 数组下标必须在指定范围内使用,否则报:下标越界异常。
  7. 数组属于引用类型数组型数据是对象(object)。

数组赋值机制

数组在默认情况下是引用传递赋的值是地址

public static void main(String[] args) {
    int[] arr1 = {1,2,3};
    int[] arr2 = arr1;
    arr2[0] = 4;
    System.out.println(arr1[0]);	// 输出4
}

在这里插入图片描述

排序

排序是将多个数据,依指定的顺序进行排列的过程。

排序包括:
内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择式排序法和插入式排序法);
外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法)

【Java】自定义排序

查找

在 java 中,我们常用的查找有两种:

  1. 顺序查找
  2. 二分查找

相关链接

【java】数组相关知识点汇总

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

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

相关文章

ThreeJS教程:山脉地形高度可视化

推荐:将 NSDT场景编辑器加入你的3D工具链 3D工具集: NSDT简石数字孪生 山脉地形高度可视化 一个山脉地形的高度可视化,具体说就是地形不同的高度设置不同的颜色值。有多种方式,下面就举一个设置顶点颜色.attributes.color的例子 …

魏副业而战:夸克网盘拉新如何引流推广?3个方法,让你多赚5W+

我是魏哥,与其在家躺平,不如魏副业而战! 夸克网盘拉新项目,相信大家都知道吧。 提到拉新,很多人不屑一顾,认为拉人头的项目,没什么前途。 这个想法,魏哥是反对的。 任何项目的存…

阿里巴巴 2023 版(Java 岗)面试突击手册,Github 已标星42K

程序员作为一个自带“高薪多金”标签的职业,收入要高于市场的平均薪资,即便是在 2023 年,程序员的薪资依然保持居高不下。 据拉勾发布的《2022 程序员群体职场洞察报告》显示计算机专业的应届本科生起薪普遍高于其他职业的平均薪资水平。77%的本科毕业生…

[数据库]数据库事务,管理等级,并发锁

1.数据库事务 数据库事务(transaction)是数据库的特性之一,在mysql数据库管理系统中,事务的管理是由引擎innordb实现的. 数据库事务可以理解为一个阶段中的活动,对于每一个窗口都有一个日志,日志中记录着本次事务中进行的改动(注意只是改动,查询不算).其中的两个指令commit,以…

ffplay设置延时

目录 理论 实验 不带参数 带参数 理论 使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们可以通过设置ffplay播放参数将延时控制到最小。 ffplay.exe -i rtmp://xxxxxxx -fflags nobuffer 减少缓冲 也可以减少分析码流的时间…

chatgpt赋能python:Python就业岗位分析:机遇和挑战并存

Python就业岗位分析:机遇和挑战并存 Python是一种高级编程语言,它具有易于学习、易于阅读和维护的特点。自问世以来,Python一直是最受欢迎的编程语言之一,用于各种领域的开发、数据分析和科学计算等方面,因此Python岗…

【AI工具】 一款多SOTA模型集成的高精度自动标注工具(直接安装使用,附源码)

目录 高精度自动标注工具简介及其特性标注工具的安装开启自动标注 简介 X-AnyLabeling 是一款全新的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流…

Abp Vnext 搭建 ELK日志记录

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana 安装 Elasticsearch Kibana 的方法我前面文章有写 Abp中加入Logstash Serilog.AspNetCore Serilog.Formatting.Elasticsearch Serilog.Sinks.Async Serilog.Sinks.Elasticsearchp…

算法与数据结构(四)

一、哈希表 1、哈希表在使用层面上可以理解为一种集合结构 2、如果只有key,没有伴随数据value,可以使用HashSet结构(C中叫UnOrderedSet) 3、如果既有key,又有伴随数据value,可以使用HashMap结构(C中叫UnOrderedMap) 4、有无伴随数…

【C++】4.多媒体库:SFML库入门

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍SFML库使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#…

新能源车加速内卷,下一程拼什么

近日,一则长城汽车举报比亚迪的消息,瞬间刷爆了整个汽车圈,行业外对于这个事情多少有点懵,但业内对此却并不感到意外。如果说去年前年国内新能源汽车的“较量”,还是争夺入选资格的话,如今这种级别的“较量…

TensorFlow2进行CIFAR-10数据集动物识别,保存模型并且进行外部下载图片测试

首先,你已经安装好anaconda3、创建好环境、下载好TensorFlow2模块并且下载好jupyter了,那么我们就直接打开jupyter开始进行CIFAR10数据集的训练。 第一步:下载CIFAR10数据集 下载网址:http://www.cs.toronto.edu/~kriz/cifar-10…

【Vue.js】对Vue-element-admin做代理网关转发proxy配置

文章目录 环境配置配置vue.config.js演示为啥要这么做呢? 环境配置 .env.development # 开发环境 .env.production # 生产环境我们需要在两个环境变量文件中配置 VUE_APP_BASE_API /dev # 这里配置全局的API前置标识 开发环境我使用的/dev 生产环境用的是/prod V…

Word控件Spire.Doc 【其他】教程(8):在 Word 中嵌入多媒体文件

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

物联网开发中常用的几款传感器

传感器是物联网中的关键部件,在物联网开发中发挥着重要作用。目前,市场上的传感器种类繁多,它们有许多用途。有些传感器可能主要用于测量温度、压力、流量等物理量,有些则用于测量位置、距离、速度和加速度等物理量,还…

干货第一弹!多组学联合分析之代谢组FAQ

代谢组是对生物体内代谢产物全谱分析的一种研究手段,代谢产物包括核酸、蛋白质、脂类生物大分子以及其他小分子物质,目前主要是检测1000Da以下的物质。代谢组研究具有高通量的检测能力、高灵敏度和准确度、非侵入性、非破坏性、全面性、数据资源整合等特…

DIY制作隔离信号注入变压器

最近在学习模电知识,接触到了测量运放环路增益,需要使用合适的注入变压器,查找资料发现商用信号注入变压器价格昂贵,不适合个人学习使用。看到LOTO使用普通音频变压器做测试,也跟技术群友做了交流,尝试使用…

企业构建高性能Web应用的重要组件

目 录 01 出现背景 ‍‍‍‍‍‍‍ 02 PrimetonLB、PrimetonMemDB在高性能Web应用中的作用 03 与PAS的集成‍‍ 04 优势体现 05 总结 01 出现背景‍ 随着互联网的快速发展和普及,各类Web应用已成为人们日常生活的重要组成,人们对Web应用的要求从过去的…

使用QMenu和mousePressEvent制作右键弹出菜单

我需要实现一个在QTextBrowser上邮件弹出菜单的效果,如下所示: 创建QTextBrowser的子类MyTextBrowser 首先创建一个QTextBrowser的子类,MyTextBrowser,如下所示:并定义一个QMenu指针 #ifndef MYTEXTBROWSER_H #defin…

webpack打包处理字体图标、map4、map3、avi资源

一、字体图标资源的下载(阿里巴巴图标库) iconfont官网:https://www.iconfont.cn/ 这里你可以搜索你想要的字体图标,或者选择官方的图标库中查找,我这里就以官方的图标库为例: 选择几个加入购物车 点…