ArrayList集合

本文记录Java学习过程中遇到的ArrayList集合~

ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

集合的创建

创建集合的常用格式:

  • 导包:import java.util.ArrayList;
  • 创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:
ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

注意:

  • 集合中存储的元素,只能为<>括号中指定的数据类型元素;
  • “<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

8种基本数据类型所对应的引用数据类型表示形式:

我们通过举几个例子,来明确集合的创建方式:

  • 存储String类型的元素
ArrayList<String> list = new ArrayList<String>();
  • 存储int类型的数据
ArrayList<Integer> list = new ArrayList<Integer>();
  • 存储Phone类型的数据
ArrayList<Phone> list = new ArrayList<Phone>();

集合中常用方法

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

示例代码(常用方法):

import java.util.ArrayList;
public class ArrayListDemo {
	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的位置,依次类推。

集合的遍历

通过集合遍历,得到集合中每个元素,这是集合中最常见的操作。集合的遍历与数组的遍历很像,都是通过索引的方式。

示例代码(集合遍历):

 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方法返回值的类型为集合中元素的类型。

集合中的常用方法补充

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

  • boolean add(int index,  Object obj)
    • 功能:在集合中指定index位置,添加新元素obj
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。
  • Object set(int index, Object obj)
    • 功能:用指定元素obj替代集合中指定index位置的元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。
  • Object remve(int index)
    • 功能:从集合中删除指定index处的元素,返回该元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。
  • void clear()
    • 功能:清空集合中所有元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[]。

标签: none