Java數(shù)組常用方法操作指南
一.前言
我們知道java是一門非常高效的計(jì)算機(jī)語言,可以將一些復(fù)雜的功能用一些方法直接實(shí)現(xiàn),下面我將為大家分享一些我們常用的方法
二.length
舉例:
public static void main(String[] args) {
//求數(shù)組的長度
int[] arr = {1,2,4,5,4,3,25,24,77};
int length = arr.length;
System.out.println(length);
}當(dāng)我們創(chuàng)建數(shù)組并且想要知道數(shù)組長度的時候就可以使用它。
三.tostring()
import java.util.Arrays
int[] arr = {1,2,3,4,5,6};
String newArr = Arrays.toString(arr);
System.out.println(newArr);它的作用是將數(shù)組轉(zhuǎn)化為字符串的形式打印
四.拷貝三兄弟
Arrays.copyOf()(最簡便,推薦新手)System.arraycopy()(底層原生,性能最高)Arrays.copyOfRange()(拷貝指定區(qū)間)
4.1Arrays.copyOf()
作用:拷貝整個數(shù)組,或拷貝到指定長度的新數(shù)組。
特點(diǎn):代碼最簡單,自動創(chuàng)建新數(shù)組。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
// 拷貝整個數(shù)組
int[] newArr = Arrays.copyOf(arr, arr.length);
}
}4.2 System.arraycopy()
作用:原生底層方法,性能最快,可指定拷貝位置、長度。
特點(diǎn):效率最高,但參數(shù)多、寫法稍復(fù)雜。
int[] arr = {1,2,3,4,5};
int[] newArr = new int[arr.length];
// 參數(shù):原數(shù)組、原起始位置、目標(biāo)數(shù)組、目標(biāo)起始位置、拷貝長度
System.arraycopy(arr, 0, newArr, 0, arr.length);4.3 Arrays.copyOfRange()
作用:拷貝數(shù)組的指定區(qū)間(從索引 from 到 to)。
特點(diǎn):適合截取數(shù)組的一部分。
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()
二分查找:以升序數(shù)組為例, 二分查找的思路是先取中間位置的元素, 然后使用待查找元素與數(shù)組中間元素進(jìn)行比較:
如果相等,即找到了返回該元素在數(shù)組中的下標(biāo)
如果小于,以類似方式到數(shù)組左半側(cè)查找
如果大于,以類似方式到數(shù)組右半側(cè)查找
重要提醒:二分查找要求數(shù)組必須是 升序排序好的!
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(找到返回下標(biāo))
}
}六.sort()
功能:相鄰元素兩兩比較,大的往后交換,每一輪把最大值 “冒泡” 到末尾,共循環(huán) 數(shù)組長度-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++) {
// 內(nèi)層:每輪比較次數(shù)逐輪減少,后面已有序不用再比
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 + " ");
}
}
}到此這篇關(guān)于Java數(shù)組常用方法操作指南的文章就介紹到這了,更多相關(guān)Java數(shù)組常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)現(xiàn)將json數(shù)組轉(zhuǎn)換成對象列表的三種實(shí)現(xiàn)方法
- java中判斷字符串?dāng)?shù)組是否包含特定字符串的三種方法實(shí)現(xiàn)與對比
- Java數(shù)組轉(zhuǎn)換為逗號分隔字符串的三種方法
- Java實(shí)現(xiàn)數(shù)組與String相互轉(zhuǎn)換的常見方法詳解
- Java的列表、集合、數(shù)組的添加一個元素各自用什么方法詳解
- JAVA數(shù)組中五種常見排序方法整理匯總
- Java一維二維數(shù)組的使用方法詳解(Arrays類方法)
- Java中數(shù)組和String相互轉(zhuǎn)換的幾種常見方法
相關(guān)文章
SpringBoot集成EasyPoi實(shí)現(xiàn)Excel模板導(dǎo)出成PDF文件
在日常工作中,我們經(jīng)常需要將數(shù)據(jù)導(dǎo)出成Excel表格或PDF文件,本文將介紹如何在SpringBoot項(xiàng)目中集成EasyPoi和iText庫,從而實(shí)現(xiàn)Excel模板導(dǎo)出成PDF文件的功能,希望對大家有所幫助2025-07-07
Java實(shí)現(xiàn)規(guī)則幾何圖形的繪制與周長面積計(jì)算詳解
隨著計(jì)算機(jī)的發(fā)展,人們對圖形的計(jì)算要求會越來越高。在各行各業(yè)中的計(jì)算人員會對圖形的計(jì)算要有便利的要求,規(guī)則幾何圖形問題求解程序應(yīng)運(yùn)而生!本文將用Java編寫一個程序,可以實(shí)現(xiàn)規(guī)則幾何圖形的繪制與周長面積計(jì)算,感興趣的可以了解一下2022-07-07
關(guān)于Springboot打成JAR包后讀取外部配置文件的問題
這篇文章主要介紹了關(guān)于Springboot打成JAR包后讀取外部配置文件的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
EditPlus運(yùn)行java時從鍵盤輸入數(shù)據(jù)的操作方法
這篇文章主要介紹了EditPlus運(yùn)行java時從鍵盤輸入數(shù)據(jù)的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
基于Java實(shí)現(xiàn)考試管理系統(tǒng)
這篇文章主要介紹了基于Java實(shí)現(xiàn)的考試管理系統(tǒng),項(xiàng)目運(yùn)用到的技術(shù)有Springboot、Maven、Jpa、Vue等等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12

