arraylist api java_Java常用API(ArrayList类)

Java常用API(ArrayList类)

我们为什么要使用ArrayList类?

为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所以Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据

什么是ArrayList?

所以从上面的介绍就可以看出所谓的ArrayList类就是一个长度可变的数组。

接下来我们来介绍ArrayList的使用:

第一步肯定是首先导包啦

java.util.ArrayList :

注:

:这里的E是范型的意思,意思是可以存储任意的引用数据类型,注意是引用数据类型,不是基本数据类型,那么有小伙伴就会问了,那么如果我就要存储基本数据类型呢?这里java给我们提供的包装类,(所谓包装类就是将基本数据类型包装为对象)后面我在写一篇文章展开详细的叙述

bac635c2be5c77465d10847b3424b506.png

构造方法献上:

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 ()方法不然打印出来的是地址值

结果

bb811be6f15285910b3dea0823a1090a.png

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

}

}

结果

c29748c3fbc82b51f7f2570be158768b.png

有同学可能会问,你不是说包装成对象了吗,怎么又直接输出了,这里是因为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 }

结果

47c0eb62778e07e184a6c55f8eac7ea2.png

以上就是一些基本的关于ArrayList的内容,如有不正确或则不完善的地方还请各位批评指教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值