1. 集合基础
1.1 集合概述
1.2 ArrayList构造方法和添加方法
1.3 ArrayList集合常用方法
1. 集合基础
1.1 集合概述
集合类的特点:提供一种存储空间可变的存储横型,存储的数据容量可以发生改变
ArrayList
ArrayList< >:
可调整大小的数组实现
< >:是一种特殊的数据类型,泛型
在出现E的地方我们使用引用数据类型替换即可例如: ArrayList<String>,ArrayList<Student>
1.2 ArrayList构造方法和添加方法
方法名 | 说明 |
---|---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 将指定的元素追加到此集合的末尾 |
public void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
例如:
import java.util.ArrayList;public class ArrayListDemo01 {public static void main(String[] args) {//public ArrayLise();创建一个空的集合对象// ArrayList<String> list = new ArrayList<>(); //也是对的ArrayList<String> list = new ArrayList<String>();// public boolean add(E e) 将指定的元素追加到此集合的末尾// System.out.println(list.add("hello"));list.add("hello");list.add("world");list.add("java");// public void add(int index,E element) 在此集合中的指定位置插入指定的元素list.add(1, "javac");// list[hello, javac, world, java]list.add(3, "javaEE");// list[hello, javac, world, javaEE, java]//list.add(4, "javaSE");// 报错 IndexOutOfBoundsException// 输出集和System.out.println("list" + list);}
}
1.3 ArrayList集合常用方法
方法名 | 说明 |
---|---|
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元奏,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素的个数 |
例如:
import java.util.ArrayList;public class ArrayListDemo02 {public static void main(String[] args) {// 创建集合ArrayList<String> list = new ArrayList<String>();// 添加元素list.add("hello");list.add("world");list.add("java");// public boolean remove(Object o) 删除指定的元素,返回删除是否成功// System.out.println(list.remove("world"));// true list[hello, java]// System.out.println(list.remove("world1"));//false list[hello, world,// java]// public E remove(int index) 删除指定索引处的元素,返回被删除的元素// System.out.println(list.remove(1));//world list[hello, java]// System.out.println(list.remove(3)); //IndexOutOfBoundsException// public E set(int index,E element) 修改指定索引处的元奏,返回被修改的元素// System.out.println(list.set(1, "koko")); //world list[hello, koko,// java]// System.out.println(list.set(3, "koko"));//IndexOutOfBoundsException// public E get(int index) 返回指定索引处的元素// System.out.println(list.get(0)); //hello list[hello, world, java]// System.out.println(list.get(3)); //IndexOutOfBoundsException// public int size() 返回集合中的元素的个数System.out.println(list.size()); // 3 list[hello, world, java]// 输出集合System.out.println("list" + list);}
}
例二:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
import java.util.ArrayList;public class ArrayListDemo03 {public static void main(String[] args) {// 创建集合ArrayList<String> list = new ArrayList<String>();// 往集合中添加字符串对象list.add("林峰");list.add("石昊");list.add("萧炎");// 遍历// System.out.println(list.get(0));// System.out.println(list.get(1));// System.out.println(list.get(2));// for (int i = 0; i < 3; i++) {// System.out.println(list.get(i));// }// 获取集合长度// System.out.println(list.size());// 遍历集合通用格式for (int i = 0; i < list.size(); i++) {String c = list.get(i);System.out.println(c);}}
}
结果:
例三:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
创建一个Student类:
public class Student {private String name;private int age;public Student() {}public Student (String name,int age){this.name=name;this.age=age;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}
}
测试:
import java.util.ArrayList;public class ArrayListDemo01 {public static void main(String[] args) {// 创建集合ArrayList<Student> list = new ArrayList<Student>();// 创建学生对象Student s1 = new Student("张三", 30);Student s2 = new Student("李四", 40);Student s3 = new Student("王五", 50);// 添加学生对象到集合中list.add(s1);list.add(s2);list.add(s3);// 遍历集合for (int i = 0; i < list.size(); i++) {Student c = list.get(i);System.out.println(c.getName() + "," + c.getAge());}}
}
结果:
例四:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合学生的姓名和年龄来自于键盘录入
创建一个Student类:
public class Student {private String name;private String age;public Student() {}public Student(String name, String age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
测试:
import java.util.ArrayList;
import java.util.Scanner;public class ArrayListDemo01 {public static void main(String[] args) {// 创建集合对象ArrayList<Student> list = new ArrayList<Student>();adds(list);adds(list);adds(list);// 遍历集合for (int i = 0; i < list.size(); i++) {Student c = list.get(i);System.out.println(c.getName() + "," + c.getAge());}}public static void adds(ArrayList<Student> list) {// 键盘录入学生对象所需的数据Scanner s = new Scanner(System.in);System.out.println("请输入学生姓名:");String name = s.next();System.out.println("请输入学生年龄:");String age = s.next();// 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量Student st = new Student();st.setName(name);st.setAge(age);// 往集合中添加学生对象list.add(st);}
}
结果: