Java语言学习总结 高级篇 ArrayList类的创建和使用

ArrayList类

什么是ArrayList类

ArrayList是可以实现长度可变的数组存储在内的数据称为元素。此类提供一 些方法来操作内部存储的元素。ArrayList 中可不断添加元素,其大小也自动增长

我们知道定义的数组长度是不可以改变了,而ArrayList就客服了这点,可以根据需要随时添加元素,加长长度。

JDK_API 中的 介绍如图:
API

ArrayList的使用步骤

三步:导包——创建——使用
导包: import java.util.ArrayList < E >
< E >表示一种指定的数据类型,叫做泛型。
泛型只能是引用类型,不能是基本数据类型
E,取自Element (元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
对于ArrayList来说,有一个尖括号< E >代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。

注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号: []

导包创建引用示例代码:

import java.util.ArrayList;
public class ArrayTestTest {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		System.out.println(list);
		
		list.add("赵丽颖");
		System.out.println(list);
		
		list.add("张三");
		list.add("李四");
		System.out.println(list);

	}
}

输出结果如图:
输出结果
这代码中add(100)是错误的,因为在创建ArrayList时尖括号内的类型是String。在list这个对象就只能存入String类。

ArrayList 常用方法

add() get() remove() size()

add() 方法,添加一个元素
get(n) 方法,获取第n号元素
remove(n) 方法 去除第n号元素
size() 方法,返回集合中元素的个数

示例代码:

import java.util.ArrayList;
public class ArrayTestTest {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		System.out.println(list);
		
		list.add("赵丽颖");
		System.out.println(list);
		
		list.add("张三");
		list.add("李四");
		System.out.println(list);
		
		String name = list.get(1);
		System.out.println(name);
		
		String whoRemoved = list.remove(2);
		System.out.println("被移除的元素是:"+whoRemoved);
		System.out.println(list);
		
		int size = list.size();
		System.out.println("集合的长度是:"+size);
	}

}

输出结果:
输出结果

遍历所有元素

用for循环遍历,size()方法
代码如下:

import java.util.ArrayList;
public class ArrayTestTest {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		list.add("赵丽颖");
		list.add("张三");
		list.add("李四");
		list.add("李五");
		list.add("李六");
		list.add("李七");
		list.add("李八");
		list.add("李九");
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i));
		}
	}
}

输出结果

用ArrayList存放基本数据类型

向ArrayList类的对象中存储基本数据类型,必须使用基本数据类型对应的包装类。写成以下方式错误:

		ArrayList<int> arrayA = new ArrayList<>();		

泛型不能直接写成int,long,float等,需写成包装类。包装类是引用类型,在java.lang包中有。
不同基本数据类型与包装类型的对应关系如下:

基本类型 包装类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

这里需要特别注意int 和char 的包装类型,分别是Integer 和Character,其他首字母大即可

代码示例:

import java.util.ArrayList;
public class ArrayTestTest {

	public static void main(String[] args) {
		ArrayList<Integer> listA = new ArrayList<>();
		listA.add(100);
		listA.add(200);
		listA.add(300);
		System.out.println(listA);
		
		System.out.println(listA.get(1));
	}
}

输出结果如下:
输出结果

自定义泛型

ArrayList中的泛型可以定义为自己定义的类生成的对象。

这里自定义一个Bean类型,然后在ArrayList中引用。
代码如下:

public class Bean {
	private String name;
	private int age;
	
	public Bean() {
		
	}
	public Bean(String name,int age) {
		this.name=name;
		this.age=age;
	}
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

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

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

另一个类中引用Bean类

import java.util.ArrayList;
public class ArrayTestTest {

	public static void main(String[] args) {
		ArrayList<Bean> listA = new ArrayList<>();
		
		Bean one = new Bean("张三",20);
		Bean two = new Bean("李四",30);
		Bean three = new Bean("王五",16);
		
		listA.add(one);
		listA.add(two);
		listA.add(three);
		
		for(int i=0;i<listA.size();i++) {
			System.out.println("姓名:"+ listA.get(i).getName() + "年龄:" + listA.get(i).getAge());
		}
	}

输出结果如下:
输出结果

——————————————

发布了43 篇原创文章 · 获赞 3 · 访问量 4942

猜你喜欢

转载自blog.csdn.net/Ace_bb/article/details/104058997
今日推荐