天天看點

arraylist api java_Java常用API(ArrayList類)

Java常用API(ArrayList類)

我們為什麼要使用ArrayList類?

為了更加友善的儲存對象,因為使用普通的數組來存儲對象太過麻煩了,因為數組的一個很大的弱點就是長度從一開始就固定了,是以Java提供了另一個容器 java.util.ArrayList 集合類,讓我們可以更便捷的存儲和操作對象資料

什麼是ArrayList?

是以從上面的介紹就可以看出所謂的ArrayList類就是一個長度可變的數組。

接下來我們來介紹ArrayList的使用:

第一步肯定是首先導包啦

java.util.ArrayList :

注:

:這裡的E是範型的意思,意思是可以存儲任意的引用資料類型,注意是引用資料類型,不是基本資料類型,那麼有小夥伴就會問了,那麼如果我就要存儲基本資料類型呢?這裡java給我們提供的包裝類,(所謂包裝類就是将基本資料類型包裝為對象)後面我在寫一篇文章展開詳細的叙述

arraylist api java_Java常用API(ArrayList類)

構造方法獻上:

public ArrayList() :構造一個内容為空的集合。

基本格式

ArrayList list = new ArrayList();

jdk7之後右側<>可以留白

ArrayList list = new ArrayList<>();

下面來講講ArrayList的一些方法(在這裡立個flag,等有時間了寫幾篇關于底層源碼的文章)

public boolean add(E e) :将指定的元素添加到此集合的尾部。

public E remove(int index) :移除此集合中指定位置上的元素。傳回被删除的元素。

public E get(int index) :傳回此集合中指定位置上的元素。傳回擷取的元素。

public int size():傳回此集合中的元素數。周遊集合時,可以控制索引範圍,防止越界

下面我們來寫一段代碼将上面的方法來總結一下

1 這是存儲對象的代碼

public classTest {public static voidmain(String[] args) {

ArrayList arrayList = new ArrayList<>();

arrayList.add(new Person(18,"lisi"));

arrayList.add(new Person(19,"zhangsan"));

System.out.println(arrayList);//擷取第一個位置的元素

System.out.println(arrayList.get(0));//移除前的大小

System.out.println("移除前的大小"+arrayList.size());//移除第一個位置的元素

System.out.println(arrayList.remove(0));//移除後的大小

System.out.println("移除前的大小"+arrayList.size());

}

}

packagecn.itcast;public classPerson {private intage;privateString name;

@Overridepublic String toString() {

return "Person{" +

"age=" + age +

", name='" + name + '\'' +

'}';

}public Person(intage, String name) {this.age =age;this.name =name;

}publicPerson() {

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}

}

注意:

要重寫tostring ()方法不然列印出來的是位址值

結果

arraylist api java_Java常用API(ArrayList類)

2這是存儲基本資料類型的代碼

packagecn.itcast;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Random;importjava.util.Scanner;public classTest {public static voidmain(String[] args) {

ArrayList arrayList = new ArrayList<>();

arrayList.add(10);

arrayList.add(20);

System.out.println(arrayList);

}

}

結果

arraylist api java_Java常用API(ArrayList類)

有同學可能會問,你不是說包裝成對象了嗎,怎麼又直接輸出了,這裡是因為java幫我們自動拆箱了,我後面再寫一篇關于

包裝類的文章詳細展開叙述

3這裡給大家再加點料

上面說到了ArrayList是采用範型的,這就意味着可以加入不同的類型的引用資料類型放置在同一ArrayList<>中

下面舉個例子

主函數

packagecn.itcast;importjava.util.ArrayList;public classTest {public static voidmain(String[] args) {

ArrayList arrayList = new ArrayList<>();

arrayList.add(new Person(18,"lisi"));

arrayList.add(new man(18,"wangwu",99));

System.out.println(arrayList);

}

}

Person類

packagecn.itcast;public classPerson {private intage;privateString name;

@OverridepublicString toString() {return "Person{" +

"age=" + age +

", name='" + name + '\'' +

'}';

}public Person(intage, String name) {this.age =age;this.name =name;

}publicPerson() {

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}

}

main類

1 packagecn.itcast;2

3 public classman {4 private intage;5 privateString name;6 private intid;7

8 @Override9 publicString toString() {10 return "man{" +

11 "age=" + age +

12 ", name='" + name + '\'' +

13 ", id=" + id +

14 '}';15 }16

17 public intgetId() {18 returnid;19 }20

21 public void setId(intid) {22 this.id =id;23 }24

25 public man(int age, String name, intid) {26 this.age =age;27 this.name =name;28 this.id =id;29 }30

31 public man(intage, String name) {32 this.age =age;33 this.name =name;34 }35

36 public intgetAge() {37 returnage;38 }39

40 public void setAge(intage) {41 this.age =age;42 }43

44 publicString getName() {45 returnname;46 }47

48 public voidsetName(String name) {49 this.name =name;50 }51 }

結果

arraylist api java_Java常用API(ArrayList類)

以上就是一些基本的關于ArrayList的内容,如有不正确或則不完善的地方還請各位批評指教