Java常用API(ArrayList类)

Java常用API(ArrayList类)

我们为什么要使用ArrayList类?

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

什么是ArrayList?

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

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

第一步肯定是首先导包啦

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

构造方法献上:

public ArrayList() :构造一个内容为空的集合。
基本格式
ArrayList<String> list = new ArrayList<String>();
jdk7之后右侧<>可以留空
ArrayList<String> 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 class Test {
public static void main(String[] args) {
ArrayList<Person> 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());
}
}
package cn.itcast;

public class Person {
private int age;
private String name; @Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
} public Person(int age, String name) {
this.age = age;
this.name = name;
} public Person() {
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

注意:
要重写tostring ()方法不然打印出来的是地址值

结果

Java常用API(ArrayList类)

2这是存储基本数据类型的代码

package cn.itcast;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner; public class Test {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(10);
arrayList.add(20);
System.out.println(arrayList);
}
}

结果

Java常用API(ArrayList类)

有同学可能会问,你不是说包装成对象了吗,怎么又直接输出了,这里是因为java帮我们自动拆箱了,我后面再写一篇关于

包装类的文章详细展开叙述

3这里给大家再加点料

上面说到了ArrayList<E>是采用范型的,这就意味着可以加入不同的类型的引用数据类型放置在同一ArrayList<>中

下面举个例子

主函数

package cn.itcast;

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList<Object> arrayList = new ArrayList<>();
arrayList.add(new Person(18,"lisi"));
arrayList.add(new man(18,"wangwu",99));
System.out.println(arrayList);
}
}

Person类

package cn.itcast;

public class Person {
private int age;
private String name; @Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
} public Person(int age, String name) {
this.age = age;
this.name = name;
} public Person() {
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

main类

 package cn.itcast;

 public class man {
private int age;
private String name;
private int id; @Override
public String toString() {
return "man{" +
"age=" + age +
", name='" + name + '\'' +
", id=" + id +
'}';
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public man(int age, String name, int id) {
this.age = age;
this.name = name;
this.id = id;
} public man(int age, String name) {
this.age = age;
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

结果

Java常用API(ArrayList类)

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

上一篇:POSIX-Data Structure


下一篇:C/C++获取系统时间