ArrayList 集合
ArrayList 集合
ArrayList<String> list = new ArrayList<>();
- 對於ArrayList來說,有一個尖括號<E>代表泛型。
- 泛型:也就是也就是裝在集合當中的所有元素,全部都是統一的什么類型
- 注意:泛型只能是引用類型,不能是基本類型
數組有一個缺點:一旦創建,程序運行期間長度不可以發生改變
ArrayList 集合和數組的區別:
- 數組的長度不可以改變。
- 但是ArrayList的長度可以改變。
注意事項:
- 對於ArrayList集合來說,直接打印得到的不是地址值,而是內容。
- 如果內容是空,得到的是空的中括:[]
ArrayList當中常用的方法:
public boolean add(E e):
- 向集合當中添加元素,參數的類型和泛型一致。返回值代表添加是否成功。
- 備注:對於ArrayList集合來說,add添加動作一定是成功的,所以返回值可用可不用。
- 但是對於其他集合來,add添加的動作不一定成功。
public E get(int index);
- 從集合當中獲取元素,參加是索引編號,返回值就是對應位置的元素。
- 索引值從零開始 E是泛型
public E remove(int index );
- 從集合當中刪除元素,參數就是索引編號,返回值就是被刪除的元素。
public int size();
- 獲得集合尺寸的長度,返回值是集合中包含的元素個數。
ArrayList<int> list = new ArrayList<>(); //錯誤寫法 泛型只能是引用類型,不能是基本類型
如果希望向集合ArrayList當中存儲基本類型數據,必須使用基本類型對應的“包裝類”。
基本類型---包裝類(引用類型,包裝類都位於java.lang包下) byte---Byte short---Short int---Integer 【特殊】 long---Long float---Float double---Double char---Character 【特殊】 boolean---Boolean
從JDK 1.5+開始,支持自動裝箱、自動拆箱。
自動裝箱:基本類型--->包裝類型
自動拆箱:包裝類型--->基本類型
題目:
生成6個1~33之間的隨機整數,添加到集合並遍歷集合。
思路:
1.需要存儲6個數字,創建一個集合,<Integer>
2.產生隨機數,需要用到Random
3.用循環6次,來產生6個隨機數:for循環
4.循環內調用r.nextInt(int n),參數是33, 0~32,整體+1才是1~33
5.把數字添加到集合中:add
6.遍歷集合:for,size,get
import java.util.Random import java.util.Scanner public calss CaiNiao{ public static void mian(String[] args){ ArrayList<Integer> list = new ArrayList<>(); Random r = new Random(); for(int i = 0;i<6;i++){ int num = r.nextInt(33)+1; list.add(num); } //遍歷集合 for(int i = 0;i<list.size();i++){ System.out.println(list.get(i)); } } }
題目:
用一個大的集合存入20個隨機數字,然后篩選其中的偶數元素,放到小集合當中。
要求使用自定義的方法來實現篩選。
分析:
1.需要創建一個大集合,用來存儲int數字,<Integer>
2.隨機數就是用Random nextInt
3.循環20次,把隨機數字放入大集合:for循環,add方法
4.定義一個方法,用來篩選符合要求的元素,得到小集合
三要素:
- 返回值類型:ArrayList小集合(里面元素個數不確定)
- 方法名稱:getSmallist
- 參數列表:ArrayList大集合(裝着20個隨機數字)
5,判斷(if)是偶數:num%2 = = 0
6.如果是偶數。就放到小集合當中,否則不放
import java.util.Random public class CaiNiao{ public static void main(String[] args){ ArrayList<Integer> biglist = new ArrayList<>(); Random r = new Random(); for(int i = 0;i<20;i++){ int num = r.nextInt(100)+1;//1~100 biglist.add(num); } ArrayList<Integer> smallList = getSmallist(biglist); System.out.println("偶數總共有多少個:" + smallList.size()); for(int i = 0;i<smallList.size();i++){ System.out.println(smallList.get(i)); } } //這個方法,接受大集合參數,返回小集合結果 public static ArrayList<Integer> getSmallist(ArrayList<Integer> biglist) //創建一個小集合,用來裝偶數結果 ArrayList<Integer> smallList = new ArrayList<>(); for (int i = 0;i<biglist.size();i++){ int num = biglist.get(i); if(num %2==0){ smallList.add(num); } } return smallList; }