ArratList 類:存放同一數據類型容器(只能為引用數據類型,因實際其內部存放的是地址)
1.導入其所在包 import java.util.ArratList
2.創建對象 ArrayList<E> 對象名=new ArrayList<>();
E:泛型數據類型,指定對象名中存放指定類型的數據,不可省略,需為引用數據類型
3.使用 即對象名.方法(參數可能有可能無)
注意:當打印對象名時,非地址,而是一個如同python中列表一般,存放的是各個數據[元素1,元素2],若無數據,即空列表[]
4。ArrayList的常用方法
對象名.add(元素) //向容器中添加指定數據類型的元素 返回值為boolean類型,可不用接受返回值,因為都會成功添加元素(尾部添加)
對象名.get(i) //獲得容器中下標為i的元素,返回值是容器中存儲的數據類型
對象名.size() //獲得容器中元素的個數
對象名.remove(i) //移除下標為i的元素,返回值是刪除的數據元素
5.倘若想要用ArrayList存儲整形,浮點形,char類型,而<E>只能為引用數據類型,如何?Java為我們將基本數據類型包裝成了類,間接變成引用
int------>Integer ArrayList<Integer> li=new Arraylist<>();//即存放整數元素
char---->Character ArrayList<Character> li=new Arraylist<>();//即存放char元素
float--->Float, byte--->Byte, double--->Double, long--->Long //只有int和char包裝類名字特殊,其余大寫即可
三個Demo熟悉其使用
//隨機生成數加入到容器中(Random與ArrayList)
1 import java.util.ArrayList; 2 import java.util.Random; 3 /*隨機生成范圍為[1,33]的數字加入到動態數組中*/ 4 public class DemoArrayList { 5 public static void main(String[] args) { 6 Random r=new Random(); 7 ArrayList<Integer> list=new ArrayList<>(); 8 for (int i = 0; i < 6; i++) { 9 list.add(r.nextInt(33)+1); 10 } 11 for(int i=0;i<list.size();i++){ 12 System.out.println(list.get(i)); 13 } 14 } 15 }
//定義方法輸出容器以指定格式輸出{元素@元素@元素。。。元素}
1 import java.util.ArrayList; 2 3 //定義方法輸出ArrayList以{元素@元素}格式輸出 4 public class DemoSecond { 5 public static void main(String[] args) { 6 ArrayList<String> li=new ArrayList<>(); 7 mymethod(li); 8 } 9 public static void mymethod(ArrayList<String> s){ 10 s.add("hello"); 11 s.add("da"); 12 s.add("nhao"); 13 System.out.print("{"); 14 for(int i=0;i<s.size();i++){ 15 if(i==s.size()-1){ 16 System.out.print(s.get(i)+"}"); 17 } 18 else 19 System.out.print(s.get(i)+"@"); 20 } 21 } 22 }
//將大集合中的20個隨機數,其中是偶數的放入到小集合中
1 import java.util.ArrayList; 2 import java.util.Random; 3 //定義方法將大集合中20個隨機數,其中是偶數的放入小集合中 4 public class DemoTest { 5 public static void main(String[] args) { 6 ArrayList<Integer> biglist=new ArrayList<>(); 7 ArrayList<Integer> smalist=new ArrayList<>(); 8 mythod(biglist,smalist); 9 } 10 public static void mythod(ArrayList<Integer> a,ArrayList<Integer> b){ 11 Random r=new Random(); 12 for (int i = 0; i < 20; i++) { 13 int digit=r.nextInt(50); 14 a.add(digit); 15 if(a.get(i)%2==0){ 16 b.add(digit); 17 } 18 } 19 System.out.println(a); 20 System.out.println(b); 21 } 22 }