9個(gè)java數(shù)組常用操作實(shí)例
數(shù)組的特點(diǎn):
數(shù)組是一種最簡單的復(fù)合數(shù)據(jù)類型,它是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和不同的下標(biāo)來唯一確定數(shù)組中的元素。根據(jù)數(shù)組的維度,可以將其分為一維數(shù)組、二維數(shù)組和多維數(shù)組等。
總的來說,數(shù)組具有以下特點(diǎn):
- 數(shù)組可以是一維數(shù)組、二維數(shù)組或多維數(shù)組。
- 數(shù)值數(shù)組元素的默認(rèn)值為 0,而引用元素的默認(rèn)值為 null。
- 交錯(cuò)數(shù)組是數(shù)組的數(shù)組,因此,它的元素是引用類型,初始化為 null。交錯(cuò)數(shù)組元素的維度和大小可以不同。
- 數(shù)組的索引從 0 開始,如果數(shù)組有 n 個(gè)元素,那么數(shù)組的索引是從 0 到(n-1)。
- 數(shù)組元素可以是任何類型,包括數(shù)組類型。
- 數(shù)組類型是從抽象基類 Array 派生的引用類型。
定義數(shù)組有三種方法。
- 第一種是定義了一個(gè)數(shù)組,并且指定了數(shù)組的長度,我們這里稱它為動(dòng)態(tài)定義。
- 第二種是直接初始化數(shù)組內(nèi)容
- 第三種在分配內(nèi)存空間的同時(shí)還初始化了值。
一、定義一個(gè)Java數(shù)組
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
二、打印Java數(shù)組中的元素
Java中數(shù)組的引用和值得區(qū)別,第三行直接打印intArray,輸出的是亂碼,因?yàn)閕ntArray僅僅是一個(gè)地址引用。第4行輸出的則是真正的數(shù)組值,因?yàn)樗?jīng)過了Arrays.toString()的轉(zhuǎn)化。對(duì)Java初學(xué)者來說,引用和值仍需重視。
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
// print directly will print reference value
System.out.println(intArray); // [I@7150bd4d
System.out.println(intArrayString); // [1, 2, 3, 4, 5]
三、從Array中創(chuàng)建ArrayList
為什么要將Array轉(zhuǎn)換成ArrayList呢?可能是因?yàn)锳rrayList是動(dòng)態(tài)鏈表,我們可以更方便地對(duì)ArrayList進(jìn)行增刪改,我們并不需要循環(huán)Array將每一個(gè)元素加入到ArrayList中,用以下的代碼即可簡單實(shí)現(xiàn)轉(zhuǎn)換。
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList); // [a, b, c, d, e]
四、檢查數(shù)組中是否包含某一個(gè)值
先使用Arrays.asList()將Array轉(zhuǎn)換成List<String>,這樣就可以用動(dòng)態(tài)鏈表的contains函數(shù)來判斷元素是否包含在鏈表中。
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b); // true
五、連接兩個(gè)數(shù)組
ArrayUtils是Apache提供的數(shù)組處理類庫,其addAll方法可以很方便地將兩個(gè)數(shù)組連接成一個(gè)數(shù)組。
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons L
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
六、將數(shù)組中的元素以字符串的形式輸出
同樣利用StringUtils中的join方法,可以將數(shù)組中的元素以一個(gè)字符串的形式輸出。
// containing the provided list of elements
// Apache common lang
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
System.out.println(j);
// a, b, c
七、將Array轉(zhuǎn)化成Set集合
在Java中使用Set,可以方便地將需要的類型以集合類型保存在一個(gè)變量中,主要應(yīng)用在顯示列表。同樣可以先將Array轉(zhuǎn)換成List,然后再將List轉(zhuǎn)換成Set。
Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); System.out.println(set); //[d, e, b, c, a]
八、數(shù)組翻轉(zhuǎn)
使用Apache的ArrayUtils工具類中的.reverse()方法數(shù)組反轉(zhuǎn)方法。也可以指定開始和結(jié)束的反轉(zhuǎn)位置。
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
九、從數(shù)組中移除一個(gè)元素
使用Apache的ArrayUtils工具類中的removeElement()方法從該數(shù)組中刪除第一次出現(xiàn)的指定元素,返回一個(gè)新的數(shù)組
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));
相關(guān)文章
SpringBoot+Mybatis-plus+shardingsphere實(shí)現(xiàn)分庫分表的方案
實(shí)現(xiàn)億級(jí)數(shù)據(jù)量分庫分表的項(xiàng)目是一個(gè)挑戰(zhàn)性很高的任務(wù),下面是一個(gè)基于Spring Boot的簡單實(shí)現(xiàn)方案,感興趣的朋友一起看看吧2024-03-03
Java編程實(shí)現(xiàn)的模擬行星運(yùn)動(dòng)示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)的模擬行星運(yùn)動(dòng),涉及java基于swing組建繪制動(dòng)態(tài)效果及數(shù)值運(yùn)算相關(guān)操作技巧,并總結(jié)分析了java面向?qū)ο蟮南嚓P(guān)特性,需要的朋友可以參考下2018-04-04
Java即將引入新對(duì)象類型來解決內(nèi)存使用問題
這篇文章主要介紹了Java即將引入新對(duì)象類型來解決內(nèi)存使用問題,文章通過圍繞主題的相關(guān)資料展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
win10操作系統(tǒng)下重啟電腦java環(huán)境變量失效
這篇文章主要介紹了win10操作系統(tǒng)下重啟電腦java環(huán)境變量失效,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
一篇文章帶你了解JAVA面對(duì)對(duì)象應(yīng)用
Java是一門面向?qū)ο蟮恼Z言。對(duì)象是Java程序中的基本實(shí)體。除了對(duì)象之外Java程序同樣處理基本數(shù)據(jù)。下面這篇文章主要給大家總結(jié)了關(guān)于Java中面向?qū)ο蟮闹R(shí)點(diǎn),需要的朋友可以參考借鑒,下面來一起看看吧2021-08-08
Java實(shí)現(xiàn)字符串轉(zhuǎn)為駝峰格式的方法詳解
這篇文章主要介紹了如何利用Java語言實(shí)現(xiàn)字符串轉(zhuǎn)為駝峰格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07
Java設(shè)置Map過期時(shí)間的的幾種方法舉例詳解
本文詳細(xì)介紹了Java中使用輕量級(jí)緩存組件ExpiringMap以及Guava的LoadingCache緩存機(jī)制,ExpiringMap提供了Map自動(dòng)過期、監(jiān)聽事件等功能,而LoadingCache提供了緩存回收、數(shù)據(jù)加載等高級(jí)功能,兩者為Java項(xiàng)目提供了有效的數(shù)據(jù)管理和緩存解決方案,需要的朋友可以參考下2024-10-10

