Java由淺入深細(xì)數(shù)數(shù)組的操作下
上一篇介紹完一維數(shù)組后,我們來(lái)看二維數(shù)組
1.二維數(shù)組的存儲(chǔ)
在C語(yǔ)言中我們說(shuō)過(guò):二維數(shù)組可以看成是特殊的一位數(shù)組,比如int arr[2][3],arr可以看成由兩個(gè)元素組成,即arr[0]和arr[1],arr[0]和arr[1]各自又有三個(gè)元素,這句話在Java中同樣適用,一維數(shù)組中arr存儲(chǔ)的是一個(gè)地址,二維數(shù)組中則是多個(gè)地址,以上面的arr數(shù)組為例,其在JVM中的存儲(chǔ)如下:
2.二維數(shù)組的定義和初始化
和一維數(shù)組類似,二維數(shù)組的定義和初始化同樣有三種:
int[][] arr1={{1,2,3},{4,5,6}}; int[][] arr2=new int[][] {{1,2,3},{4,5,6}}; int[][] arr3=new int[2][3]; //同樣數(shù)組元素的值為0
3.打印二維數(shù)組
使用的依舊是在一維數(shù)組中使用的方法
- 嵌套for循環(huán)
需要注意的是,此時(shí)arr.length的值表示的是行數(shù),arr[i].length的值是第i行的數(shù)組有多少個(gè)元素,即列數(shù)
- foreach
foreach語(yǔ)句依舊可以使用,同樣是嵌套的foreach,使用方法如下圖:
- Arrays.deepToString()
Arrays.toString()只能作用于一維數(shù)組,二維數(shù)組打印出來(lái)的是處理后的地址
所以使用 Arrays.deepToString()將二維數(shù)組轉(zhuǎn)換為字符串
4.不規(guī)則二維數(shù)組
Java中的二維數(shù)組每一行都可以單獨(dú)指定列數(shù),具體操作如下:
5.Arrays中常用的方法
- Arrays包中有很多操作數(shù)組的方法,在這對(duì)其常用的一些方法進(jìn)行總結(jié)
- Arrays.toString():將一維數(shù)組內(nèi)容轉(zhuǎn)換成字符串
- Arrays.deepToString():將二維數(shù)組內(nèi)容轉(zhuǎn)換成字符串
- Arrays.copyOf():拷貝數(shù)組,有兩個(gè)參數(shù),分別是要拷貝的數(shù)組的名稱和拷貝的長(zhǎng)度,返回值是數(shù)組
- Arrays.copyOfRange():拷貝數(shù)組,可設(shè)定起始和結(jié)束位置,兩端取值是左閉右開
- Arrays.binarySearch():數(shù)組中二分查找搜索指定值,找到返回值的下標(biāo),沒(méi)有則返回負(fù)數(shù)
- Arrays.fill():填充數(shù)組內(nèi)容,可以選擇局部填充或全部填充Arrays.sort():對(duì)數(shù)組進(jìn)行排序,排序方式是升序
數(shù)組內(nèi)容就到此結(jié)束,完
相關(guān)文章
Linux下Hadoop?2.7.3?安裝搭建過(guò)程
Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop?Distributed?File?System),簡(jiǎn)稱HDFS,這篇文章給大家介紹Linux下Hadoop?2.7.3?安裝搭建過(guò)程,感興趣的朋友跟隨小編一起看看吧2021-11-11IntelliJ IDEA配置java環(huán)境及解決IDEA不能直接運(yùn)行單個(gè)JAVA文件的問(wèn)題
這篇文章主要介紹了IntelliJ IDEA配置java環(huán)境及解決IDEA不能直接運(yùn)行單個(gè)JAVA文件的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07mybatis項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)表名的三種方法
有時(shí)在開發(fā)過(guò)程中java代碼中的表名和數(shù)據(jù)庫(kù)的表名并不是一致的,此時(shí)我們就需要?jiǎng)討B(tài)的設(shè)置表名,本文主要介紹了mybatis項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)表名的三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01java?實(shí)現(xiàn)獲取指定位置后的第一個(gè)數(shù)字
這篇文章主要介紹了java?實(shí)現(xiàn)獲取指定位置后的第一個(gè)數(shù)字,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java 隊(duì)列實(shí)現(xiàn)原理及簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要介紹了Java 隊(duì)列實(shí)現(xiàn)原理及簡(jiǎn)單實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10Mybatis Properties 配置優(yōu)先級(jí)詳解
這篇文章主要介紹了Mybatis Properties 配置優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java環(huán)境變量path和classpath的配置
這篇文章主要為大家詳細(xì)介紹了java系統(tǒng)環(huán)境變量path和classpath的配置過(guò)程,感興趣的小伙伴們可以參考一下2016-07-07