Java中陣列及相關類的使用
文章目錄
一,普通陣列
1,新建陣列:
elementType[ ] arrayRefVai;(元素型別 [] 陣列名)
例如:double[] mylist = new double[10]。
2,訪問陣列:
用下標訪問某個資料,如 mylist[0] 表示 mylist 陣列的第一個元素。
3,獲取陣列的長度:
int n = mylist.length, length後沒有括號。
4,foreach迴圈遍歷陣列:
例如輸出陣列mylist中的所有元素:
double[] mylist = new double[10];
for(double e:mylist)
{
System.out.print(e);
}
5,陣列的複製:
(1) 使用迴圈語句逐個複製陣列的元素:
for(int i=0; i<mylist.length; ++i)
{
copylist[i] = mylist[i];
}
(2) 使用System類中的靜態方法 arraycopy:
(這裡的arraycopy違反了java命名習慣)
int[] mylist = new int[5];
int[] copylist = new int[5];
for(int i=0; i<5; ++i)
{
mylist[i] = i;
copylist[i] = 5*i;
}
int start1 = 0;
int start2 = 2;
int length = 3;
//從mylist的start1位置開始,將mylist中的length個資料複製,並賦值給copylist從start2位置開始的length個資料
System.arraycopy(mylist, start1, copylist, start2, length);
注意,這裡的 start1 、start2 和 length 的大小必須要合適;
例如:mylist 從 start1位置開始,後面必須要有大於等於 length 個資料來用於複製;copylist 從 start2 位置開始,後面必須要有大於等於 length 個位置用來貼上。否則會報錯。
(3) 使用clone方法複製:
一個類物件若想使用 clone 方法,必須要實現 Cloneable 介面,陣列已經實現了該介面,可以直接使用 clone() 方法。
int[] mylist = new int[5];
int[] copylist = copylist = mylist.clone();
6,可變長引數列表:
可以將型別相同但個數可變的引數傳遞個方法。
public class Test {
public static void main(String[] args)
{
print(1,2,3);
print(4,5,6,7);
}
public static void print(int... num) //型別名後加三個點再加物件名
{
for(int i=0; i<num.length; ++i)
{
System.out.print(num[i] + " ");
}
}
}
這裡的 print 方法既可以輸出任意個數的整型值,num 在這裡相當於一個陣列。
注意:若方法的引數列表中還有其他的引數,則可變長引數必須放在最後一個,任何常規引數都要在它之前。
7,陣列的排序:
(1)使用選擇排序、氣泡排序的演算法。
(2)直接使用Collections.sort()方法:
java.util.Collections.sort(mylist);
(3)使用 Arrays 類中的sort () 方法:如下表所示。
二,Arrays類
1,Arrays類常用功能及方法
Arrays類位於 java.util包中,其中包含一些常見的陣列操作方法。
功能 | 方法 |
---|---|
全部排序 : | java.util.Arrays.sort(mylist) |
部分排序: | java.util.Arrays.parallelSort(mylist, start, end)//對start到end-1的資料排序 |
二分查詢法: | java.util.Arrays.binarySearch(mylist, temp)//temp為待查詢資料 |
陣列比較,返回布林值: | java.util.Arrays.equals(list1,list2) |
全部填充: | java.util.Arrays.fill(mylist,5)//全部填充為5 |
部分填充: | java.util.Arrays.fill(mylist, start, end, 8)//將從start到end-1的資料填充為8 |
三,ArrayList類
1,ArrayList常用功能及方法
普通陣列一旦建立陣列大小就固定了,Arraylist類可以建立一個陣列用來儲存不限定個數的資料。
ArrayList<String> list1 = new ArrayList<>(); //儲存多個字串
ArrayList<double> list2 = new ArrayList<>(); //儲存多個double資料
ArrayList<int> list3 = new ArrayList<>(); //儲存多個int資料
功能 | 方法 |
---|---|
增加一個新元素o到該列表的末尾 | add(E):void |
增加一個新元素o到該列表的指定下標處 | add(index: int, o: E): void |
清除列表中的所有元素 | clear() : void |
如果該列表包含元素o,則返回true | contains(o: Object): boolean |
返回該列表指定下標位置的元素 | get(index: int) : E |
返回列表中第一個匹配元素的下標 | indexOf(o: Object): int |
如果該列表不包含任何元素,則返回true | isEmpty(): boolean |
返回列表中匹配的最後一個元素的下標 | lastIndexOf(o: Object): int |
去除列表中的第一個元素。如果該元素被去除,則返回 true | remove(o: Object): boolean |
返回列表中的元素個數 | size() : int |
去除指定下標位置的元素。如果該元素被去除,則返回 true | remove(index: int): E |
設定指定下標位置的元素 | set(index: int, o: E): E |
ArraryList類的其他使用方法:
2,用普通陣列來建立ArrayList:
String[] array = {"1","2","3"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
3,用ArrayList物件來建立普通陣列:
String[] array1 = new String[list.size()];
list.toArray(array1);//將ArrayList類物件list的內容複製到array1中。
4,用Collections.sort()方法排序:
java.util.Collection.sort(list);//排序
5,用Collections.max()和Collections.min()找最值:
java.util.Collection.max(list);//最大值
java.util.Collection.min(list);//最小值
6,用Collections.shuffle()來隨機打亂列表元素:
java.util.Collection.shuffle(list);//隨機打亂列表元素
相關文章
- 關於在類陣列中使用陣列方法陣列
- Java 中的陣列 如何使用Java陣列
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列
- 六,陣列筆記及相關練習題大全陣列筆記
- Java中的陣列Java陣列
- Java陣列03:陣列使用Java陣列
- Java陣列的使用Java陣列
- [瘋狂Java]陣列:Arrays(陣列工具類)Java陣列
- ES6 陣列相關陣列
- JAVA“類”陣列的建立與呼叫Java陣列
- 【Java】陣列使用Java陣列
- 陣列,陣列類,SyStem類陣列
- jQuery陣列相關操作程式碼jQuery陣列
- JAVA陣列的定義及用法Java陣列
- PowerShell中的陣列使用陣列
- bash指令碼中的普通陣列和關聯陣列指令碼陣列
- Java中的陣列 - Java那些事兒Java陣列
- LeetCode 關於陣列的相對排序LeetCode陣列排序
- 第81節:Java中的陣列Java陣列
- Linux命令列中幾個使用history相關的技巧Linux命令列
- 紅寶書總結-js陣列的相關方法JS陣列
- 類陣列陣列
- Java列舉類在生產環境中的使用方式Java
- 從JavaScript中的類陣列物件說起JavaScript陣列物件
- 初識Java(Java陣列-陣列的基本操作)Java陣列
- WebView的基本使用及相關特性WebView
- java Queue佇列相關總結Java佇列
- 【Java初探01】——Java簡介及相關Java
- Java的 陣列Java陣列
- 《Java從入門到失業》第三章:基礎語法及基本程式結構(3.9):陣列(陣列基本使用、陣列的迴圈、陣列拷貝、陣列排序、多維陣列)Java陣列排序
- Java 中初始化陣列Java陣列
- Java中List陣列互轉Java陣列
- Linux shell 中陣列的使用Linux陣列
- MySQL索引分類及相關概念辨析MySql索引
- MySQL 中的約束及相關操作MySql
- 關於CSS中的定位使用子絕父相(子類絕對位置和父類相對位置)CSS
- JavaScript類陣列JavaScript陣列
- shell 使用陣列及字串擷取陣列字串