Java数组常用方法操作指南

 更新时间:2026年06月05日 09:59:10   作者:好想写代码  
这篇文章给大家介绍Java数组常用方法操作指南,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

一.前言

我们知道java是一门非常高效的计算机语言,可以将一些复杂的功能用一些方法直接实现,下面我将为大家分享一些我们常用的方法

二.length

举例:

public static void main(String[] args) {
        //求数组的长度
        int[] arr = {1,2,4,5,4,3,25,24,77};
        int length = arr.length;
        System.out.println(length);
    }

当我们创建数组并且想要知道数组长度的时候就可以使用它。

三.tostring()

import java.util.Arrays
int[] arr = {1,2,3,4,5,6};
String newArr = Arrays.toString(arr);
System.out.println(newArr);

它的作用是将数组转化为字符串的形式打印

四.拷贝三兄弟

  • Arrays.copyOf() (最简便,推荐新手)
  • System.arraycopy() (底层原生,性能最高)
  • Arrays.copyOfRange() (拷贝指定区间)

4.1Arrays.copyOf()

作用:拷贝整个数组,或拷贝到指定长度的新数组。
特点:代码最简单,自动创建新数组。

import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        // 拷贝整个数组
        int[] newArr = Arrays.copyOf(arr, arr.length); 
    }
}

4.2 System.arraycopy()

作用:原生底层方法,性能最快,可指定拷贝位置、长度。

特点:效率最高,但参数多、写法稍复杂。

int[] arr = {1,2,3,4,5};
int[] newArr = new int[arr.length];
// 参数:原数组、原起始位置、目标数组、目标起始位置、拷贝长度
System.arraycopy(arr, 0, newArr, 0, arr.length);

4.3 Arrays.copyOfRange()

作用:拷贝数组的指定区间(从索引 from 到 to)。

特点:适合截取数组的一部分。

import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        // 拷贝索引 1 ~ 3(不包含3) → [2,3]
        int[] newArr = Arrays.copyOfRange(arr, 1, 3); 
    }
}

五.binarySearch()

二分查找:以升序数组为例, 二分查找的思路是先取中间位置的元素, 然后使用待查找元素与数组中间元素进行比较:

如果相等,即找到了返回该元素在数组中的下标

如果小于,以类似方式到数组左半侧查找

如果大于,以类似方式到数组右半侧查找

重要提醒:二分查找要求数组必须是 升序排序好的!

import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9};
        // 二分查找 5
        int index = Arrays.binarySearch(arr, 5);
        System.out.println(index); // 输出 2(找到返回下标)
    }
}

六.sort()

功能:相邻元素两两比较,大的往后交换,每一轮把最大值 “冒泡” 到末尾,共循环 数组长度-1 轮。

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = {5, 2, 9, 1, 5, 6};
        // 外层:一共 arr.length-1 轮
        for (int i = 0; i < arr.length - 1; i++) {
            // 内层:每轮比较次数逐轮减少,后面已有序不用再比
            for (int j = 0; j < arr.length - 1 - i; j++) {
                // 前一个 > 后一个,交换
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        // 遍历输出
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

到此这篇关于Java数组常用方法操作指南的文章就介绍到这了,更多相关Java数组常用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 5分钟快速搭建SpringBoot3 + MyBatis-Plus工程/项目的实现示例

    5分钟快速搭建SpringBoot3 + MyBatis-Plus工程/项目的实现示例

    本文主要介绍了使用IntelliJ IDEA创建Spring Boot工程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • java设计日历可视化的详细步骤记录

    java设计日历可视化的详细步骤记录

    这篇文章主要给大家介绍了关于java设计日历可视化的相关资料,通过自定义的CircleLabel类来突出显示今天的日期,并使用BorderLayout布局管理窗口组件,文章详细描述了各个类和方法的设计思想和实现逻辑,需要的朋友可以参考下
    2024-12-12
  • Spring Bean实例化实现过程解析

    Spring Bean实例化实现过程解析

    这篇文章主要介绍了Spring Bean实例化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 深入了解Java虚拟机栈以及内存模型

    深入了解Java虚拟机栈以及内存模型

    这篇文章主要介绍了深入了解Java虚拟机栈以及内存模型,文中有非常详细的代码示例,对正在学习java的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-04-04
  • springcloud安装rabbitmq并配置延迟队列插件的过程详解

    springcloud安装rabbitmq并配置延迟队列插件的过程详解

    本期主要讲解如何利用docker快速安装rabbitmq并且配置延迟队列插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Java文件读写与异常处理从入门到实战指南

    Java文件读写与异常处理从入门到实战指南

    本文详细讲解Java文件输入输出与异常处理,涵盖File、Scanner、PrintWriter等类的使用,并重点介绍如何处理IOException等异常,助你写出稳健的专业Java代码,感兴趣的朋友跟随小编一起看看吧
    2026-06-06
  • Java阻塞队列四组API介绍(小结)

    Java阻塞队列四组API介绍(小结)

    这篇文章主要介绍了Java阻塞队列四组API介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Intellij IDEA 2019 最新乱码问题及解决必杀技(必看篇)

    Intellij IDEA 2019 最新乱码问题及解决必杀技(必看篇)

    大家在使用Intellij IDEA 的时候会经常遇到各种乱码问题,今天小编给大家分享一些关于Intellij IDEA 2019 最新乱码问题及解决必杀技,感兴趣的朋友跟随小编一起看看吧
    2020-04-04
  • 使用SpringBoot读取Windows共享文件的代码示例

    使用SpringBoot读取Windows共享文件的代码示例

    在现代企业环境中,文件共享是一个常见的需求,Windows共享文件夹(SMB/CIFS协议)因其易用性和广泛的兼容性,成为了许多企业的首选,在Java应用中,尤其是使用Spring Boot框架时,如何读取Windows共享文件是一个值得探讨的话题,本文介绍了使用SpringBoot读取Windows共享文件
    2024-11-11
  • Spring Cloud gateway 网关如何拦截Post请求日志

    Spring Cloud gateway 网关如何拦截Post请求日志

    这篇文章主要介绍了Spring Cloud gateway 网关如何拦截Post请求日志的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论