Java數(shù)組(Array)最全匯總(下篇)
前言
本章是關(guān)于Java數(shù)組的最全匯總,本篇為匯總下篇,主要對上兩篇內(nèi)容進行總結(jié)匯總。
數(shù)組是最常見的一種數(shù)據(jù)結(jié)構(gòu),它是相同類型的用一個標識符封裝到一起的基本類型數(shù)據(jù)序列或者對象序列。
數(shù)組使用一個統(tǒng)一的數(shù)組名和不同的下標來唯一確定數(shù)組中的元素。
實質(zhì)上,數(shù)組是一個簡單的線性序列,因此訪問速度很快。
本章將詳細介紹 Java 中數(shù)組的創(chuàng)建、初始化和處理方法,如獲取數(shù)組長度、查找數(shù)組元素和數(shù)組排序等。
本章學習要點
- 掌握一維數(shù)組的創(chuàng)建方法
- 掌握一維數(shù)組的初始化方法
- 熟練掌握一維數(shù)組的應(yīng)用
- 掌握二維數(shù)組的創(chuàng)建
- 掌握二維數(shù)組的初始化
- 熟練掌握二維數(shù)組元素的訪問方式
- 掌握數(shù)組的復(fù)制方法
- 掌握搜索數(shù)組元素的方法
- 掌握對數(shù)組的排序算法
對Java數(shù)組的總結(jié)
數(shù)組(Array)是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和不同的下標來唯一確定數(shù)組中的元素。
根據(jù)數(shù)組的維度,可以將其分為一維數(shù)組、二維數(shù)組和多維數(shù)組等。
一維數(shù)組
數(shù)組中每個元素都只帶有一個下標,是數(shù)組中最簡單的一種數(shù)組。
聲明
聲明一維數(shù)組語法有兩種格式(推薦使用第一種)。
type[] arrayName; // 數(shù)據(jù)類型[] 數(shù)組名;
或者
type arrayName[]; // 數(shù)據(jù)類型 數(shù)組名[];
分配空間
分配空間語法格式如下。
arrayName = new type[size]; // 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
初始化
Java 中初始化數(shù)組有以下 3 種方式。
- 使用 new 指定數(shù)組大小后進行初始化
- 使用 new 指定數(shù)組元素的值
- 直接指定數(shù)組元素的值
// 使用 new 指定數(shù)組大小后進行初始化
int[] number = new int[5];
number[0] = 1;
number[1] = 2;
number[2] = 3;
number[3] = 5;
number[4] = 8;
// 使用 new 指定數(shù)組元素的值(2種方式)
int[] number = new int[] { 1, 2, 3, 5, 8 };
int[] number = new int[5] { 1, 2, 3, 5, 8 };
// 直接指定數(shù)組元素的值(2種方式)
int[] number = { 1, 2, 3, 5, 8 };
int[] number;
number={1,2,3,5,8};使用
- 獲取單個元素
- 獲取全部元素
// 獲取單個元素
int[] number = { 1, 2, 3, 5, 8 };
System.out.println("獲取第一個元素:" + number[0]);
// 使用for語句獲取全部元素
int[] number = { 1, 2, 3, 5, 8 };
for (int i = 0; i < number.length; i++) {
System.out.println("第" + (i + 1) + "個元素的值是:" + number[i]);
}
// 使用foreach語句獲取全部元素
for (int val : number) {
System.out.print("元素的值依次是:" + val + "\t");
}二維數(shù)組
二維數(shù)組被看作數(shù)組的數(shù)組。
聲明
聲明二維數(shù)組語法有兩種格式(推薦使用第一種)。
type[][] arrayName; // 數(shù)據(jù)類型[][] 數(shù)組名;
或者
type arrayName[][]; // 數(shù)據(jù)類型 數(shù)組名[][];
第一個中括號表示行,第二個中括號表示列。
初始化
二維數(shù)組可以通過以下 3 種方式來指定元素的初始值。
type[][] arrayName = new type[][]{值 1,值 2,值 3,…,值 n}; // 在定義時初始化
type[][] arrayName = new type[size1][size2]; // 給定空間,在賦值
type[][] arrayName = new type[size][]; // 數(shù)組第二維長度為空,可變化
// 定義時初始化
int[][] temp = new int[][]{{1,2},{3,4}};
// 給定空間在賦值
int[][] temp = new int[2][2];
// 數(shù)組第二維長度為空,可變化
int[][] temp = new int[2][];使用
- 獲取單個元素:
arrayName[i-1][j-1];
arrayName 表示數(shù)組名稱,i 表示數(shù)組的行數(shù),j 表示數(shù)組的列數(shù)。
- 獲取全部元素:使用嵌套 for 循環(huán)或 for each 循環(huán)語句。
- 獲取整行元素:需要將行數(shù)固定,然后只遍歷該行中的全部列即可。
- 獲取整列元素:獲取指定列的元素與獲取指定行的元素相似,保持列不變,遍歷每一行的該列即可。
數(shù)組操作
比較數(shù)組
比較數(shù)組元素的個數(shù)和對應(yīng)位置的元素是否相等。
Arrays.equals(arrayA, arrayB);
arrayA 是用于比較的第一個數(shù)組,arrayB 是用于比較的第二個數(shù)組。
填充數(shù)組
在指定位置進行數(shù)值填充。
Arrays.fill(array,value);
array 表示數(shù)組,value 表示填充的值。只能使用同一個數(shù)值進行填充。
數(shù)組查找
從數(shù)組中查詢指定位置的元素,或者查詢某元素在指定數(shù)組中的位置,語法格式如下。
binarySearch(Object[] a,Object key);
a 表示要搜索的數(shù)組,key 表示要搜索的值。
在數(shù)組中指定范圍內(nèi)查找,語法格式如下。
binarySearch(Object[] a,int fromIndex,int toIndex,Object key);
a 表示要進行查找的數(shù)組,fromIndex 指定范圍的開始處索引(包含開始處),toIndex 指定范圍的結(jié)束處索引(不包含結(jié)束處),key 表示要搜索的元素。
復(fù)制數(shù)組
copyOf()
Arrays.copyOf(dataType[] srcArray,int length);
srcArray 表示要進行復(fù)制的數(shù)組,length 表示復(fù)制后的新數(shù)組的長度
CopyOfRange()
Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)
srcArray 表示原數(shù)組,startIndex 表示開始復(fù)制的起始索引,endIndex 表示終止索引。
arraycopy()
System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)
srcArray 表示原數(shù)組,srcIndex 表示源數(shù)組中的起始索引,destArray 表示目標數(shù)組,destIndex 表示目標數(shù)組中的起始索引,length 表示要復(fù)制的數(shù)組長度。
clone()
array_name.clone()
數(shù)組排序
Java 數(shù)組中有 5 種常見排序方法,分別是:
- Arrays.sort()
- 冒泡排序
- 快速排序
- 選擇排序
- 直接插入
常見問題解答
1. 聲明數(shù)組需要注意什么?
聲明數(shù)組時,一定要考慮數(shù)組的最大容量,防止容量不夠的現(xiàn)象。
數(shù)組一旦被聲明,它的容量就固定了,不容改變。
如果想在運行程序時改變?nèi)萘浚托枰玫郊稀?/p>
2. 數(shù)組在平時的程序代碼中使用是否頻繁?
數(shù)組有一個缺點,就是一旦聲明,就不能改變?nèi)萘浚@個也是其使用頻率不高的原因。一般存儲數(shù)據(jù)會使用集合或 Vector 來存儲數(shù)據(jù)。
到此這篇關(guān)于Java數(shù)組(Array)最全匯總(下篇)的文章就介紹到這了,其他兩個部分的內(nèi)容(上、中篇)請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java數(shù)組(Array)最全匯總(中篇)
- Java數(shù)組(Array)最全匯總(上篇)
- Java之數(shù)組在指定位置插入元素實現(xiàn)
- Java自定義一個變長數(shù)組的思路與代碼
- Java中如何將?int[]?數(shù)組轉(zhuǎn)換為?ArrayList(list)
- Java中將 int[] 數(shù)組 轉(zhuǎn)換為 List分享
- java如何將int數(shù)組轉(zhuǎn)化為Integer數(shù)組
- 淺談Java當作數(shù)組的幾個應(yīng)用場景
- 計算Java數(shù)組長度函數(shù)的方法以及代碼分析
- Java C++題解leetcode915分割數(shù)組示例
- Java?從json提取數(shù)組并轉(zhuǎn)換為list的操作方法
- Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組的實現(xiàn)與應(yīng)用
- Java?C++題解leetcode1441用棧操作構(gòu)建數(shù)組示例
- Java postgresql數(shù)組字段類型處理方法詳解
- Java中數(shù)組的常見操作合集
相關(guān)文章
JAVA 筆記 ClassLoader.getResourceAsStream() 與 Class.getResourc
這篇文章主要介紹了JAVA 筆記 ClassLoader.getResourceAsStream() 與 Class.getResourceAsStream()的區(qū)別,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07
SpringCloud全局過慮器GlobalFilter的用法小結(jié)
這篇文章主要介紹了SpringCloud全局過慮器GlobalFilter的使用,全局過慮器使用非常廣泛,比如驗證是否登錄,全局性的處理,黑名單或白名單的校驗等,本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-07-07
Java如何實現(xiàn)Unicode和中文相互轉(zhuǎn)換
這篇文章主要介紹了Java如何實現(xiàn)Unicode和中文相互轉(zhuǎn)換問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
帶你輕松搞定Java面向?qū)ο蟮木幊?-數(shù)組,集合框架
Java是面向?qū)ο蟮母呒壘幊陶Z言,類和對象是 Java程序的構(gòu)成核心。圍繞著Java類和Java對象,有三大基本特性:封裝是Java 類的編寫規(guī)范、繼承是類與類之間聯(lián)系的一種形式、而多態(tài)為系統(tǒng)組件或模塊之間解耦提供了解決方案2021-06-06
SpringMVC通過RESTful結(jié)構(gòu)實現(xiàn)頁面數(shù)據(jù)交互
RESTFUL是一種網(wǎng)絡(luò)應(yīng)用程序的設(shè)計風格和開發(fā)方式,基于HTTP,可以使用XML格式定義或JSON格式定義。RESTFUL適用于移動互聯(lián)網(wǎng)廠商作為業(yè)務(wù)接口的場景,實現(xiàn)第三方OTT調(diào)用移動網(wǎng)絡(luò)資源的功能,動作類型為新增、變更、刪除所調(diào)用資源2022-08-08

