目录
集合概述
ArrayList构造方法和添加方法
常用方法
存储字符串并遍历案例
存储学生对象并遍历
集合概述
编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢?那就是集合
先回忆一下python中的集合概念:set 集合s = {1,2,3} 是没有重复元素的数据结构,没有顺序,没有索引,元素可以是数字,字符串,不能是列表字典元组
而java中的集合就不一样了,其集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变目前我们先学习一个: ArrayList
ArrayList<E> :
- 可调整大小的数组实现
- <E>:是一种特殊的数据类型,泛型。
在出现E的地方我们使用引用数据类型替换即可举例: ArrayList<String>,ArrayList<Student>
ArrayList构造方法和添加方法

如下创建一个空的集合对象,并使用添加方法在集合中添加指定的元素
package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;
import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();System.out.println(array); //输出 []//public boolean add(E e), 将指定的元素追加到集合的末尾System.out.println(array.add("hello")); //输出truearray.add(" world");System.out.println(array); //输出[hello, world]//在指定的索引位置添加元素,索引从0开始array.add(1,"nihao");System.out.println(array); //输出[hello, nihao, world]}
}
常用方法
- arr.remove("元素") 删除指定元素
- array.remove(1) 删除1索引位置处的元素
- array.set(1, "hello") 将1索引处的 元素替换为“hello”
- array.size() 获取集合长度
- array.get(1) 获取索引1处的元素
package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;
import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();//给集合中添加元素array.add("hello");array.add("world");System.out.println(array); //输出[hello, world]//1. ramove 删除指定元素/*array.remove("world");System.out.println(array); //输出hello*///2. remove删除指定索引位置的元素/*array.remove(1);System.out.println(array); //输出hello*///3. set修改指定索引处的元素array.set(1,"你好");System.out.println(array); //输出 [hello, 你好]}
}
存储字符串并遍历案例
需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
package com.test;import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;import java.util.ArrayList;public class ScannerDemo {public static void main(String[] args) {//创建一个空的集合对象ArrayList<String> array = new ArrayList<String>();array.add("hello");array.add("world");array.add("hehe");System.out.println(array);for(int i=0; i<array.size(); i++){System.out.println(array.get(i));}}
}
存储学生对象并遍历
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
思路:
- 定义学生类
- 创建集合对象
- 创建学生对象
- 添加学生对象到集合中
- 遍历集合,采用通用遍历格式实现
因为要存储学生对象,所以首先要有学生类
Student.java
package com.test;
//学生类
public class Student {private String name;private int age;//定义无参构造方法public Student(){}//有参数构造方法public Student(String name, int age){this.name = name;this.age = age;}public String getName(){return name;}public int getAge(){return age;}
}
ArrayListTest.java
package com.test;
import java.util.ArrayList;public class ArrayListTest {public static void main(String[] args) {//创建集合对象ArrayList<Student> array = new ArrayList<Student>();//创建学生对象Student s1 = new Student("辰辰啊", 18);Student s2 = new Student("小明", 19);Student s3 = new Student("小虹", 20);//添加学生对象到集合中array.add(s1);array.add(s2);array.add(s3);//遍历集合System.out.println(array);for(int i=0; i<array.size(); i++){Student s = array.get(i);System.out.println(s.getName()+","+s.getAge());}}
}



















