Java學習:集合的使用與數組的區別


ArrayList 集合

ArrayList 集合

ArrayList<String> list = new ArrayList<>();
  1. 對於ArrayList來說,有一個尖括號<E>代表泛型。
  2. 泛型:也就是也就是裝在集合當中的所有元素,全部都是統一的什么類型
  3. 注意:泛型只能是引用類型,不能是基本類型

數組有一個缺點:一旦創建,程序運行期間長度不可以發生改變

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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM