Java中操作數(shù)組的Arrays類
引包:位于java.util 包下。
Arrays類包含了各種操作數(shù)組的靜態(tài)方法:
數(shù)組排序:sort(升序排序)重載了各種數(shù)組升序排序方法,舉例幾種:
sort(char[] a)
sort(double[] a)
sort(int[] a)
示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arrInt = {9,8,7,6,5,4,3,2,1};
Arrays.sort(arrInt);
for(int x: arrInt){
System.out.print(x + " "); //打印結(jié)果1 2 3 4 5 6 7 8 9
}
}
}
數(shù)組查詢:binarySearch(二分查找)重載了各種數(shù)組查詢方法,舉例幾種:
binarySearch(double[] a, double key)
binarySearch(int[] a, int key)
binarySearch(char[] a, char key)
? 第一個(gè)參數(shù)都是傳進(jìn)來(lái)的數(shù)組,第二個(gè)參數(shù)是要查找的值。如果存在查詢的值,返回該數(shù)在數(shù)組中的下標(biāo),否則返回(-(insertion point)-1);示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arrInt = {9,8,7,6,5,4,3,2,1};
Arrays.sort(arrInt); //排序
int t = Arrays.binarySearch(arrInt, 20); //必須要先排序才能使用此方法??!
System.out.println(t); //結(jié)果為-10
}
}
數(shù)組打?。簍oString 重載了各種數(shù)組打印方法,舉例幾種:
toString(boolean[] a)
toString(char[] a)
toString(double[] a)
toString(int[] a)
返回結(jié)果是字符串,如果數(shù)組為null,返回null。示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arrInt = {9,8,7,6,5,4,3,2,1};
String s = Arrays.toString(arrInt);
System.out.println(s); //結(jié)果[9, 8, 7, 6, 5, 4, 3, 2, 1]
}
}
數(shù)組復(fù)制:copyOf 和copyOfRange重載了各種數(shù)組復(fù)制方法,舉例兩種常見方法:
copyOf(int[] original, int newLength) 復(fù)制指定的數(shù)組,用零截取或填充(如有必要),以便復(fù)制具有指定的長(zhǎng)度。
copyOfRange(int[] original, int from, int to) 將指定數(shù)組的指定范圍復(fù)制到新數(shù)組中。
示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arrInt = {8,7,6,5,4,3,2,1};
int[] arr = Arrays.copyOf(arrInt, 9); //復(fù)制到具有9個(gè)位置的新數(shù)組中
int[] arr2 = Arrays.copyOfRange(arrInt, 1,5); //復(fù)制下標(biāo)1-5元素到新數(shù)組中
System.out.println(Arrays.toString(arr)); //結(jié)果[8, 7, 6, 5, 4, 3, 2, 1, 0]
System.out.println(Arrays.toString(arr2)); //結(jié)果[7, 6, 5, 4]
}
}
數(shù)組比較:equals 重載了各種類型數(shù)組比較,如:
equals(int[] a, int[] a2) 如果兩個(gè)指定的int數(shù)組彼此 相等 ,則返回 true 。
equals(double[] a, double[] a2) 如果兩個(gè)指定的雙精度數(shù)組彼此 相等 ,則返回 true 。
需要注意:
1.比較的兩個(gè)數(shù)組類型需要相同?。。?/p>
2.如果比較的數(shù)組引用都為null,返回true。
示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arrInt = {7,6,5,4,3,2,1};
int[] arrInt2 = {7,6,5,4,3,2,1};
boolean flag = Arrays.equals(arrInt, arrInt2);
System.out.println(flag); //結(jié)果是true
}
}
數(shù)組填充:fill 重載了各種類型數(shù)組填充方式,以int型舉例兩種填充方式:
fill(int[] a, int val) 將指定的val值分配給指定的int數(shù)組的每個(gè)元素。
fill(int[] a, int fromIndex, int toIndex, int val) 將指定的val值分配給指定的int數(shù)組的指定范圍(區(qū)間左閉右開)的每個(gè)元素。
示例:
public class ArraysTest {
public static void main(String[] args) {
int[] arr = new int[6];
Arrays.fill(arr, 2, 5, 8); //填充左閉右開區(qū)間下標(biāo)[2,5)的元素
String s = Arrays.toString(arr);
System.out.println(s); //打印[0, 0, 8, 8, 8, 0]
}
}
到此這篇關(guān)于Java中操作數(shù)組的Arrays類的文章就介紹到這了,更多相關(guān)Java Arrays類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)
下面小編就為大家?guī)?lái)一篇IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
springboot?@PostConstruct無(wú)效的解決
這篇文章主要介紹了springboot?@PostConstruct無(wú)效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java配置多個(gè)過(guò)濾器優(yōu)先級(jí)以及幾個(gè)常用過(guò)濾器操作
這篇文章主要介紹了java配置多個(gè)過(guò)濾器優(yōu)先級(jí)以及幾個(gè)常用過(guò)濾器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
認(rèn)識(shí)Java中的Stub與StubQueue
StubQueue是用來(lái)保存生成的本地代碼的Stub隊(duì)列,隊(duì)列每一個(gè)元素對(duì)應(yīng)一個(gè)InterpreterCodelet對(duì)象,InterpreterCodelet對(duì)象繼承自抽象基類Stub,下面我們介紹一下StubQueue類及相關(guān)類Stub、InterpreterCodelet類和CodeletMark類。需要的的下伙伴可以參考下面文字內(nèi)容2021-09-09
SpringBoot整合Flyway實(shí)現(xiàn)數(shù)據(jù)庫(kù)的初始化和版本管理操作
Flyway?是一款開源的數(shù)據(jù)庫(kù)版本管理工具,它可以很方便的在命令行中使用,或者在Java應(yīng)用程序中引入,用于管理我們的數(shù)據(jù)庫(kù)版本,這篇文章主要介紹了SpringBoot整合Flyway實(shí)現(xiàn)數(shù)據(jù)庫(kù)的初始化和版本管理,需要的朋友可以參考下2023-06-06

