<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本章是關於Java陣列的最全彙總,本篇為彙總下篇,主要對上兩篇內容進行總結匯總。
陣列是最常見的一種資料結構,它是相同型別的用一個識別符號封裝到一起的基本型別資料序列或者物件序列。
陣列使用一個統一的陣列名和不同的下標來唯一確定陣列中的元素。
實質上,陣列是一個簡單的線性序列,因此存取速度很快。
本章將詳細介紹 Java 中陣列的建立、初始化和處理方法,如獲取陣列長度、查詢陣列元素和陣列排序等。
陣列(Array)是有序資料的集合,陣列中的每個元素具有相同的資料型別,可以用一個統一的陣列名和不同的下標來唯一確定陣列中的元素。
根據陣列的維度,可以將其分為一維陣列、二維陣列和多維陣列等。
陣列中每個元素都只帶有一個下標,是陣列中最簡單的一種陣列。
宣告一維陣列語法有兩種格式(推薦使用第一種)。
type[] arrayName; // 資料型別[] 陣列名;
或者
type arrayName[]; // 資料型別 陣列名[];
分配空間語法格式如下。
arrayName = new type[size]; // 陣列名 = new 資料型別[陣列長度];
Java 中初始化陣列有以下 3 種方式。
// 使用 new 指定陣列大小後進行初始化 int[] number = new int[5]; number[0] = 1; number[1] = 2; number[2] = 3; number[3] = 5; number[4] = 8; // 使用 new 指定陣列元素的值(2種方式) int[] number = new int[] { 1, 2, 3, 5, 8 }; int[] number = new int[5] { 1, 2, 3, 5, 8 }; // 直接指定陣列元素的值(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"); }
二維陣列被看作陣列的陣列。
宣告二維陣列語法有兩種格式(推薦使用第一種)。
type[][] arrayName; // 資料型別[][] 陣列名;
或者
type arrayName[][]; // 資料型別 陣列名[][];
第一個中括號表示行,第二個中括號表示列。
二維陣列可以通過以下 3 種方式來指定元素的初始值。
type[][] arrayName = new type[][]{值 1,值 2,值 3,…,值 n}; // 在定義時初始化
type[][] arrayName = new type[size1][size2]; // 給定空間,在賦值
type[][] arrayName = new type[size][]; // 陣列第二維長度為空,可變化
// 定義時初始化 int[][] temp = new int[][]{{1,2},{3,4}}; // 給定空間在賦值 int[][] temp = new int[2][2]; // 陣列第二維長度為空,可變化 int[][] temp = new int[2][];
使用
arrayName[i-1][j-1];
arrayName 表示陣列名稱,i 表示陣列的行數,j 表示陣列的列數。
比較陣列元素的個數和對應位置的元素是否相等。
Arrays.equals(arrayA, arrayB);
arrayA 是用於比較的第一個陣列,arrayB 是用於比較的第二個陣列。
在指定位置進行數值填充。
Arrays.fill(array,value);
array 表示陣列,value 表示填充的值。只能使用同一個數值進行填充。
從陣列中查詢指定位置的元素,或者查詢某元素在指定陣列中的位置,語法格式如下。
binarySearch(Object[] a,Object key);
a 表示要搜尋的陣列,key 表示要搜尋的值。
在陣列中指定範圍內查詢,語法格式如下。
binarySearch(Object[] a,int fromIndex,int toIndex,Object key);
a 表示要進行查詢的陣列,fromIndex 指定範圍的開始處索引(包含開始處),toIndex 指定範圍的結束處索引(不包含結束處),key 表示要搜尋的元素。
Arrays.copyOf(dataType[] srcArray,int length);
srcArray 表示要進行復制的陣列,length 表示複製後的新陣列的長度
Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)
srcArray 表示原陣列,startIndex 表示開始複製的起始索引,endIndex 表示終止索引。
System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)
srcArray 表示原陣列,srcIndex 表示源陣列中的起始索引,destArray 表示目標陣列,destIndex 表示目標陣列中的起始索引,length 表示要複製的陣列長度。
array_name.clone()
Java 陣列中有 5 種常見排序方法,分別是:
1. 宣告陣列需要注意什麼?
宣告陣列時,一定要考慮陣列的最大容量,防止容量不夠的現象。
陣列一旦被宣告,它的容量就固定了,不容改變。
如果想在執行程式時改變容量,就需要用到集合。
2. 陣列在平時的程式程式碼中使用是否頻繁?
陣列有一個缺點,就是一旦宣告,就不能改變容量,這個也是其使用頻率不高的原因。一般儲存資料會使用集合或 Vector 來儲存資料。
到此這篇關於Java陣列(Array)最全彙總(下篇)的文章就介紹到這了,其他兩個部分的內容(上、中篇)請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45