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ù)組類(lèi)似,二維數(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ù)組元素的值為03.打印二維數(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ù)組的名稱(chēng)和拷貝的長(zhǎng)度,返回值是數(shù)組
- Arrays.copyOfRange():拷貝數(shù)組,可設(shè)定起始和結(jié)束位置,兩端取值是左閉右開(kāi)
- 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)文章
SpringMVC如何在生產(chǎn)環(huán)境禁用Swagger的方法
本篇文章主要介紹了SpringMVC如何在生產(chǎn)環(huán)境禁用Swagger的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
maven的pom.xml中repositories和distributionManagement使用
這篇文章主要介紹了maven的pom.xml中repositories和distributionManagement使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
springboot?集成easy-captcha實(shí)現(xiàn)圖像驗(yàn)證碼顯示和登錄
本文主要介紹了springboot?集成easy-captcha實(shí)現(xiàn)圖像驗(yàn)證碼顯示和登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Java通過(guò)自定義類(lèi)加載器實(shí)現(xiàn)類(lèi)隔離
類(lèi)隔離是一種通過(guò)類(lèi)加載器實(shí)現(xiàn)加載所需類(lèi)的實(shí)現(xiàn)方式,使得不同版本類(lèi)間隔離,避免了使用沖突問(wèn)題。本文將通過(guò)自定義的類(lèi)加載器實(shí)現(xiàn)類(lèi)隔離,感興趣的可以了解一下2022-08-08
MyBatis-Plus 主鍵生成策略的幾種實(shí)現(xiàn)方式
主鍵生成策略是指在數(shù)據(jù)庫(kù)中為每條記錄生成唯一標(biāo)識(shí)符的方法,本文就來(lái)介紹一下MyBatis-Plus 主鍵生成策略的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
如何在Spring?Boot中使用MyBatis訪問(wèn)數(shù)據(jù)庫(kù)
MyBatis可以通過(guò)簡(jiǎn)單的XML或者注解來(lái)配置和映射原始類(lèi)型,接口,和Java POJO為數(shù)據(jù)庫(kù)中記錄,使用MyBatis幫助我們解決各種問(wèn)題,本文介紹如何在Spring?Boot中使用MyBatis訪問(wèn)數(shù)據(jù)庫(kù),感興趣的朋友一起看看吧2023-11-11
spring如何實(shí)現(xiàn)兩個(gè)xml配置文件間的互調(diào)
這篇文章主要介紹了spring如何實(shí)現(xiàn)兩個(gè)xml配置文件間的互調(diào),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11

