ArrayList集合 初步認識

ArrayList集合

在前面我們學習了數組,數組可以保存多個元素,但在某些情況下無法確定到底要保存多少個元素,此時數組將不再適用,因爲數組的長度不可變。例如,要保存一個學校的學生,由於不停有新生來報道,同時也有學生畢業離開學校,這時學生的數目很難確定。爲了保存這些數目不確定的元素,JDK中提供了一系列特殊的類,這些類可以存儲任意類型的元素,並且長度可變,統稱爲集合。在這裏,我們先介紹ArrayList集合,其他集合在後續課程中學習。

ArrayList集合是程序中最常見的一種集合,它屬於引用數據類型(類)。在ArrayList內部封裝了一個長度可變的數組,當存入的元素超過數組長度時,ArrayList會在內存中分配一個更大的數組來存儲這些元素,因此可以將ArrayList集合看作一個長度可變的數組。

  1. 集合的創建 

創建集合的常用格式在此說明一下:

導包:import java.util.ArrayList;

創建對象:與其他普通的引用數據類型創建方式完全相同,但是要指定容器中存儲的數據類型:

ArrayList<要存儲元素的數據類型> 變量名 = new ArrayList<要存儲元素的數據類型>();

  1. 集合中存儲的元素,只能爲<>括號中指定的數據類型元素;
  2. “<要存儲元素的數據類型>”中的數據類型必須是引用數據類型,不能是基本數據類型;

下面給出8種基本數據類型所對應的引用數據類型表示形式:

基本數據類型

對應的引用數據類型表示形式

byte

Byte

short

Short

Int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

我們通過舉幾個例子,來明確集合的創建方式:

存儲String類型的元素

ArrayList<String> list = new ArrayList<String>();

存儲int類型的數據

ArrayList<Integer> list = new ArrayList<Integer>();

存儲Phone類型的數據

ArrayList<Phone> list = new ArrayList<Phone>();

  1. 集合中常用方法

接下來,我們來學習下ArrayList集合提供的一些常用方法,如下表:

方法聲明

功能描述

boolean add(Object obj)

將指定元素obj追加到集合的末尾

Object get(int index)

返回集合中指定位置上的元素

int size()

返回集合中的元素個數

通過代碼演示上述方法的使用。ArrayListDemo01.java

import java.util.ArrayList;

public class ArrayListDemo01 {

public static void main(String[] args) {

// 創建ArrayList集合

ArrayList<String> list = new ArrayList<String>();

// 向集合中添加元素

list.add("stu1");

list.add("stu2");

list.add("stu3");

list.add("stu4");

// 獲取集合中元素的個數

System.out.println("集合的長度:" + list.size());

// 取出並打印指定位置的元素

System.out.println("第1個元素是:" + list.get(0));

System.out.println("第2個元素是:" + list.get(1));

System.out.println("第3個元素是:" + list.get(2));

System.out.println("第4個元素是:" + list.get(3));

}

}

 

強調一點,ArrayList集合相當於是一個長度可變的數組,所以訪問集合中的元素也是採用索引方式訪問,第一個元素存儲在索引0的位置,第二個元素存儲在索引1的位置,依次類推。

  1. 集合的遍歷

通過集合遍歷,得到集合中每個元素,這是集合中最常見的操作。集合的遍歷與數組的遍歷很像,都是通過索引的方式,集合遍歷方式如下:ArrayListDemo02.java

import java.util.ArrayList;

public class ArrayListDemo02 {

public static void main(String[] args) {

//創建ArrayList集合

ArrayList<Integer> list = new ArrayList<Integer>();

//添加元素到集合

list.add(13);

list.add(15);

list.add(22);

list.add(29);

//遍歷集合

for (int i = 0; i < list.size(); i++) {

//通過索引,獲取到集合中每個元素

int n = list.get(i);

System.out.println(n);

}

}

}

 

 

上述代碼中,第5行定義了一個可以存儲int元素的集合;第7-10行,實現將int類型數值存儲到集合中;第12-16行,實現遍歷集合元素。這裏要強調一點,get方法返回值的類型爲集合中元素的類型。

    1. 集合中的常用方法補充

ArrayList集合提供的一些常用方法,如下表:

方法聲明

功能描述

boolean add(int index,  Object obj)

將指定元素obj插入到集合中指定的位置

Object remve(int index)

從集合中刪除指定index處的元素,返回該元素

void clear()

清空集合中所有元素

Object set(int index, Object obj)

用指定元素obj替代集合中指定位置上的元素

  1. boolean add(int index,  Object obj)
    1. 功能:在集合中指定index位置,添加新元素obj
    2. 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用add(1,“javaWeb”)後,集合list中的元素爲[“java”,“javaWeb”,“JavaEE”]。
  2. Object set(int index, Object obj)
    1. 功能:用指定元素obj替代集合中指定index位置的元素
    2. 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用set(0,“javaWeb”)後,集合list中的元素爲[“javaWeb”,“JavaEE”]。
  3. Object remove(int index)
    1. 功能:從集合中刪除指定index處的元素,返回該元素
    2. 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用remove(0)後,集合list中的元素爲[“JavaEE”],返回值爲“java”。
  4. void clear()
    1. 功能:清空集合中所有元素
    2. 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用clear()後,集合list中的元素爲空[]。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章