数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定。为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习。
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。
创建集合的常用格式在此说明一下:
导包:import java.util.ArrayList;
创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:
1.1 ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();
集合中存储的元素,只能为<>括号中指定的数据类型元素;
“<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

java list能处理多少条数据 java list最多能存多少条数据_数据类型

其中的常用方法:

java list能处理多少条数据 java list最多能存多少条数据_数组_02

import java.util.ArrayList;
public class ArrayListDemo01 {
	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));
	}
}

1.2 集合的遍历

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

1import java.util.ArrayList;
 2public class ArrayListDemo02 {
 3	public static void main(String[] args) {
 4		//创建ArrayList集合,interger类型
 5		ArrayList<Integer> list = new ArrayList<Integer>();
 6		//添加元素到集合
 7		list.add(13);
 8		list.add(15);
 9		list.add(22);
 10		list.add(29);
 11		//遍历集合
 12		for (int i = 0; i < list.size(); i++) {
 13			//通过索引,获取到集合中每个元素,通过get方法,获取i位置上的元素
 14			int n = list.get(i);
 15			System.out.println(n);
 16		}
 17	}
 18}
**迭代器遍历**

Iterator it = arrayList.iterator();
while(it.hasNext()){
System.out.print(it.next() + " ");
}
for循环遍历

for(Integer number : arrayList){
System.out.print(number + " ");
}
三种展示

mport java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo {

    public static void main(String[] srgs){
         ArrayList<Integer> arrayList = new ArrayList<Integer>();

         System.out.printf("Before add:arrayList.size() = %d\n",arrayList.size());

         arrayList.add(1);
         arrayList.add(3);
         arrayList.add(5);
         arrayList.add(7);
         arrayList.add(9);
         System.out.printf("After add:arrayList.size() = %d\n",arrayList.size());

         System.out.println("Printing elements of arrayList");
         // 三种遍历方式打印元素
         // 第一种:通过迭代器遍历
         System.out.print("通过迭代器遍历:");
         Iterator<Integer> it = arrayList.iterator();
         while(it.hasNext()){
             System.out.print(it.next() + " ");
         }
         System.out.println();

         // 第二种:通过索引值遍历
         System.out.print("通过索引值遍历:");
         for(int i = 0; i < arrayList.size(); i++){
             System.out.print(arrayList.get(i) + " ");
         }
         System.out.println();

         // 第三种:for循环遍历
         System.out.print("for循环遍历:");
         for(Integer number : arrayList){
             System.out.print(number + " ");
         }

1.3 集合中常用方法补充:

java list能处理多少条数据 java list最多能存多少条数据_数组_03