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工程/项目的实现示例
本文主要介绍了使用IntelliJ IDEA创建Spring Boot工程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-01-01
springcloud安装rabbitmq并配置延迟队列插件的过程详解
本期主要讲解如何利用docker快速安装rabbitmq并且配置延迟队列插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-05-05
Intellij IDEA 2019 最新乱码问题及解决必杀技(必看篇)
大家在使用Intellij IDEA 的时候会经常遇到各种乱码问题,今天小编给大家分享一些关于Intellij IDEA 2019 最新乱码问题及解决必杀技,感兴趣的朋友跟随小编一起看看吧2020-04-04
使用SpringBoot读取Windows共享文件的代码示例
在现代企业环境中,文件共享是一个常见的需求,Windows共享文件夹(SMB/CIFS协议)因其易用性和广泛的兼容性,成为了许多企业的首选,在Java应用中,尤其是使用Spring Boot框架时,如何读取Windows共享文件是一个值得探讨的话题,本文介绍了使用SpringBoot读取Windows共享文件2024-11-11
Spring Cloud gateway 网关如何拦截Post请求日志
这篇文章主要介绍了Spring Cloud gateway 网关如何拦截Post请求日志的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07


最新评论