【Java开发指南 | 第十六篇】Java数组及Arrays类

【JAVA】Arrays类 详解 Arrays类 详解 阅读详情

读者可订阅专栏:Java开发指南 |【优快云@秋说】

在这里插入图片描述

数组

Java中的数组是一种用来存储固定大小的相同类型元素的数据结构。

数组特点

数组具有以下特点:

1、固定大小: 一旦数组被创建,其大小就不能被改变。

2、相同类型元素: 数组中的所有元素必须是相同的数据类型,可以是基本数据类型(如int、double等)或者是引用数据类型(如对象)。

3、连续内存空间: 数组中的元素在内存中是连续存储的。

4、零索引: 数组的元素是通过索引访问的。数组的索引从零开始,即第一个元素的索引是0,第二个元素的索引是1,以此类推到 arrayRefVar.length-1。

创建数组

1、

dataType[] arrayRefVar;   //声明数组的类型和名称

//char[] myArray;

在这里插入图片描述

不能按这种方法创建声明数组:char[10] arr;

在这里插入图片描述

2、

dataType arrayRefVar[];
//声明数组的类型和名称

//可以指定其大小
//int[] myArray = new int[5];
public class ice {
    public static void main(String[] args) {
       int arr[] = new int[5];

       for(int i=0;i<arr.length;i++)
        {
            System.out.println(i*2);
        }

    }
}

在这里插入图片描述

3、

dataType[] arrayRefVar = {value0, value1, ..., valuek};

//char[] myArrar={'a','b','c','d'}

例如:

public class ice {
    public static void main(String[] args) {
       int[] arr = {'1','2','3','a'};
    }
}

处理数组

数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 For-Each 循环。

public class ice {
    public static void main(String[] args) {
       int arr[] = new int[5];
        
        for(int i=0;i<arr.length;i++)
        {
            arr[i]=i*2;
        }//循环进行赋值

       for(int i=0;i<arr.length;i++)
        {
            System.out.println(arr[i]);
        }//循环进行打印

    }
}

在这里插入图片描述

多维数组

type[][] typeName = new type[typeLength1][typeLength2];

创建一个两行三列的二维数组 a :

int[][] a = new int[2][3];

访问二维数组中第二行第一列的元素:

int t=a[1][0];

Arrays类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

排序(Sorting):

  • sort(T[] a): 对指定数组进行排序,使用默认的比较器。
import java.util.Arrays;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++)
        {
            System.out.println(arr[i]);
        }
    }
}

在这里插入图片描述

  • sort(T[] a, Comparator<? super T> c): 对指定数组根据指定比较器进行排序。
  • parallelSort(T[] a): 对指定数组进行并行排序,使用默认的比较器。
  • parallelSort(T[] a, Comparator<? super T> c): 对指定数组进行并行排序,使用指定的比较器。

搜索(Searching):

  • binarySearch(T[] a, T key): 在指定数组中搜索指定的元素,返回元素的索引。数组必须是有序的。
import java.util.Arrays;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        Arrays.sort(arr);
        int t=Arrays.binarySearch(arr,543);
        System.out.println(t);
    }
}

在这里插入图片描述

  • binarySearch(T[] a, int fromIndex, int toIndex, T key): 在指定范围内的数组中搜索指定的元素,返回元素的索引。数组必须是有序的。

比较(Comparing):

  • equals(T[] a, T[] a2): 比较两个数组是否相等。
  • deepEquals(Object[] a1, Object[] a2): 深度比较两个数组是否相等。

填充(Filling):

  • fill(T[] a, T val): 将指定数组的所有元素替换为指定值。
  • fill(T[] a, int fromIndex, int toIndex, T val): 将指定范围内的数组元素替换为指定值。

转换为列表(Converting to List):

  • asList(T... a): 将指定数组转换为 List。
import java.util.Arrays;
import java.util.List;

public class ice {
    public static void main(String[] args) {
        Integer[] arr = {1,12,543,235,2,13,122,43}; // 使用 Integer 类型的数组
        List<Integer> a = Arrays.asList(arr);
        System.out.println(a);
    }
}

在这里插入图片描述

注意:列表不能直接复制给数组,因为基本数据类型不能作为泛型的参数。

/*无法输出正确列表*/
import java.util.Arrays;
import java.util.List;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        List a = Arrays.asList(arr);
        System.out.println(a);
    }
}

在这里插入图片描述

数组的输出(Array Output):

  • toString(T[] a): 返回数组的字符串表示形式。
import java.util.Arrays;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        String a = Arrays.toString(arr);
        System.out.println(a);
    }
}

在这里插入图片描述

数组的复制(Array Copying):

  • copyOf(T[] original, int newLength): 将指定数组的前几个元素复制到一个新数组中,新数组的长度为指定长度。
import java.util.Arrays;
import java.util.List;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        int[] brr=Arrays.copyOf(arr,3);
        System.out.println(Arrays.toString(brr));
    }
}

在这里插入图片描述

  • copyOfRange(T[] original, int from, int to): 将指定数组的指定范围的元素复制到一个新数组中。
import java.util.Arrays;
import java.util.List;

public class ice {
    public static void main(String[] args) {
        int[] arr = {1,12,543,235,2,13,122,43};
        int[] brr=Arrays.copyOfRange(arr,3,6);
        System.out.println(Arrays.toString(brr));
    }
}

在这里插入图片描述

数组的填充(Array Padding):

  • copyOfRange(T[] original, int from, int to): 将指定数组的指定范围的元素复制到一个新数组中,并使用指定值填充不足的部分。
GD32F103实战:用ADC+DMA实现高精度多通道电压采集与OLED实时显示(附完整工程) 本文详细介绍了如何利用GD32F103的ADC+DMA技术实现高精度多通道电压采集,并通过OLED实时显示数据。文章包含硬件架构设计、ADC配置技巧、DMA传输优化及显示系统实现方案,提供完整工程代码和调试指南,适用于工业传感器和环境监测设备开发。 阅读详情

相关推荐

图像去雨:超详细手把手写 pytorch 实现代码(带注释)

占个坑,过几天来写

书山有路,学海无涯! 1万+

Java中Arrays类(操作数组的工具)

以上就是今天所讲的Arrays类里面的一些常用方法,它可以使我们更方便的操作数组,当然还有许多种方法在Arrays类里面,有兴趣的童鞋可以去查一查。

weixin_62981548的博客 4336

WIFI中CSI的读取

学习目标: 目前正在做基于WIFI的无设备定位,准备使用信道状态信息(CSI),学习一下。 目前采集数据环境已经搭建好,准备研究信号的预处理。 学习内容: 1、 信号的读取——read_bf_file函数的研究 2、 3、 4、 1. read_bf_file详解: %READ_BF_FILE Reads in a file of beamforming feedback logs. % This version uses the *C* version of read_bfee, ...

sz3076799的博客 8891

Java中的Arrays类

Arrays类是用于管理和操作数组的类,例如排序和搜索。

SakuraMG的博客 1502

MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源

单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。

m0_37724753的博客 4229

试读源码在这里下载

试读文章的源码在这里下载。源码不做任何修改,重点重点重点:为了代码运行不报错,安装matlab 版本为 2021 及以上版本。matlab安装教程大家可以参考这个教程:手把手教你安装matlab软件。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4301

Java——Arrays 类详解

Arrays 类是 Java 语言中用于操作数组的一个工具类,提供了多种静态方法来处理数组,包括排序、搜索、填充、比较等操作。这个类位于 java.util 包中。Arrays类的构造方法被设置为私有(private),因此无法创建 Arrays 对象。Arrays 类的所有公有方法都是静态的,可以直接通过类名调用。

Stewie Lee的博客 2651

时间加强控制图,累计和控制图详细介绍,公式,计算 UCL,LCL,CL, sigma,C#实现

\(k\):参考值(通常取为检测偏移量的一半,例如 \(k = \frac{\delta \sigma}{2}\),\(\delta\)是希望检测的偏移量,\(\sigma\)是过程标准差)。- 示例中假设目标均值 \(\mu_0 = 10.0\),标准差 \(\sigma = 0.5\),参考值 \(k = 0.25\)(检测1σ偏移),控制限常数 \(h = 4\)。例如,若希望检测1个标准差的偏移(\(\delta = 1\)),则 \(k = 0.5\sigma\)。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 810

JAVA基础(三十九)——常用类之Arrays类

java Arrays

qq_37466661的博客 889

Python爬虫:爬取拼多多平台商品信息、销量、价格等数据

在本篇博客中,我们将深入探讨如何使用Python爬虫技术爬取拼多多平台的商品信息,包括商品的标题、销量、价格等详细数据。拼多多的商品页面通常是分页展示的,因此我们需要遍历多个页面,获取所有商品的信息。每个商品在拼多多平台上都有一个唯一的商品ID,我们可以通过该ID访问商品页面。通过以上的技术方案和代码示例,你已经掌握了如何使用Python爬虫获取拼多多平台上的商品信息、销量、价格等数据。等技术,解决拼多多平台的反爬虫机制,成功抓取我们所需的商品数据。,我们能够应对拼多多的反爬虫机制,稳定地获取到商品数据。

2201_76125261的博客 3654

2026国内Claude Code保姆级教程:安装、避坑、防串台全优化

安装 Claude Code CLI + 切换 npm 国内镜像优先配置固定关闭:自动联网、自动项目扫描VSCode 内置终端直接用,不装多余插件会话隔离+指令约束,彻底解决 Rust、小程序 跨语言串台。

lpfasd123的博客 2538

Java中Arrays类的常用方法

Java中 Arrays 类的常用方法 Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。 import java.util.Arrays; Arrays.fill(); //填充数组 int[] arr = new int[5];//新建一个大小为5的数组 Arrays.fill(arr,4);//给所有值赋值4 String str...

weixin_41924879的博客 4万+

【Claude Code 源码解析教程】第4章:QueryEngine 查询引擎

本章深入解析 Claude Code 的核心引擎——QueryEngine,它是整个对话系统的"心脏",负责管理会话状态、消息处理流程和多轮对话支持。

rengang66的博客 269

Java中Arrays类中的数组操作方法详解

🏵在前面我们讲到了一维数组和二维数组以及开发工具eclipse的配置java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。替换元素以及填充元素:通过 fill 方法。对数组排序:通过 sort 方法,按升序。比较数组:通过 equals 方法比较数组中元素值是否相等。查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。......

m0_46232425的博客 4572

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java基础Arrays类

1.Arrays类 Arrays位于java.util包下(Arrays是一个操作数组的工具类) Arrays包含各种操作数组的方法(例如排序和搜索)。该类还包含一个静态工厂,允许将数组视为列表。 Arrays类里的方法都是静态方法可以通过Arrays.方法名()直接调用 2.Arrays常用方法 (1) asList(T… a):主要用于遍历 List<String> list = Arrays.asList("a","b","c"); 该方法适用于对象型数据的数组(String、

孤夜的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

咱们一起学 Java(第十六篇)

大家好,我一直希望通过分享知识,与大家共同在Java编程的道路上成长。在之前的学习中,我们已经对Java基本程序结构中的诸多内容有了较为深入的了解,今天我们将继续深入学习数组相关的最后一部分重要知识,包括数组排序以及对之前数组知识的总结和拓展,这将使我们对数组的运用更加熟练,能够解决更复杂的编程问题。

wj_rdk的博客 1940

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【JAVA |数组】数组定义与使用、常见的Arrays类介绍

内存在连续存储的一段空间,相同类型数据的集合。

YKX0000的博客 3626

Java 的 Arrays 类详解

本文主要介绍了Java中的Arrays类的各种操作和使用。

专注Java和MySQL领域知识分享 1141

Java数组(Arrays类和ArrayList类)

Java数组(Arrays类和ArrayList类)

2301_80484340的博客 1563

Java使用Arrays类对数组排序

Java使用Arrays类对数组排序 Arrays类中的sort()方法是从小到大排序数组,属于快速排序。 函数原型为: static void sort(int[] a, int fromIndex, int toIndex) 后两个参数为数组需要排序的开始位置和结束位置,可选。 使用时需要import java.util.Arrays; 或者直接import java.util.*; 代码示例...

tk593的博客 1932

关于java数组Arrays类

前面的文章中,我们了解了数组创建方法等,我们本篇文章来了解一下数组的方法类Arrays,有了这个类,我们在日常写代码的时候就不不用自己去手动创建方法了😀。

落满樱花的羊的博客 659

Java数组及Arrays类的使用

Java数组及Arrays类的使用Java数组的创建数组的创建数组的遍历二维数组二维数组的创建二维数组的遍历Arrays类的使用Arrays类的定义常用方法 Java数组的创建 数组的创建 数据类型[] 名 = new 数据类型[数组长度]. 如: int[] arr = new int[5]; arr[0] = 2; arr[1] = 3; //... arr[4] = 6; ...

guo12345555的博客 458

【Java 专题补充】Arrays类详解

Arrays 类是 Java 语言中用于操作数组的一个工具类,提供了多种静态方法来处理数组,包括排序、搜索、填充、比较等操作。这个类位于 java.util 包中。Arrays类的构造方法被设置为私有(private),因此无法创建 Arrays 对象。Arrays 类的所有公有方法都是静态的,可以直接通过类名调用。返回一维数组的字符串表示。(1)示例(代码及运行结果)(2)源码if (a == null) // 判断 a 是否为空引用,如果为空引用,则返回 "null" 字符串。

Akiiiira的博客 1277

Java Arrays类

Java中提供了一个专门用于操作数组的工具类,即Arrays类,位于java.util包中。Arrays类包含各种操作数组的方法,比如排序和搜索,除此之外,Arrays类还包含一个静态工厂,允许将数组视为列表。Arrays类里的方法都是静态方法,我们可以通过Arrays.方法名()直接调用。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 888

java的数组与Arrays类源码详解

java的数组与Arrays类源码详解   java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用。 类的定义 public final class Array { private Array() {} public static Object newInstance(Cl...

悦分享 3107

数组和Arrays类

数组的定义:数组是相同数据类型的有序集合数组描述的是相同类型的若干个数据,按照一定先后次序排列组合而成其中每个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。

zkh8023zkh的博客 663
上一篇: 【Java开发指南 | 第十五篇】Java Character 类、String 类
下一篇: 【Java开发指南 | 第十七篇】Java 方法
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值