集合是Java集合框架(Java Collections Framework)的一部分,提供了一组接口和类来存储和操作一组对象。集合框架的核心接口包括Collection
、List
、Set
和Map
。
特点
- 动态大小:集合的大小可以动态调整,不需要预先定义容量。
- 类型安全:支持泛型,可以在编译时检查类型。
- 丰富的操作:提供了多种方法,如添加、删除、遍历、排序等。
- 多种实现:如
ArrayList
、LinkedList
、HashSet
、TreeSet
等,适用于不同场景。
常用集合类型
- List:有序且允许重复元素(如
ArrayList
、LinkedList
)。 - Set:无序且不允许重复元素(如
HashSet
、TreeSet
)。 - Map:存储键值对,键不允许重复(如
HashMap
、TreeMap
)。
ArrayList
成员方法
方法名 | 说明 |
---|---|
public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 |
public boolean remove(要删除的元素) | 删除指定元素,返回值表示是否删除成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素的个数 |
综合练习
创建泛型ArrayList
ArrayList<String>
:指定ArrayList
中存储的元素类型为String
。- 集合< >中不能直接放基础数据类型,要改成包装类
- 包装类:Byte、Short、Character(char)、Integer(int)、Long、Float、Double、Boolean。
package com.hongwu.ArrayListdemo;import java.util.ArrayList;public class Arraylistdemo1 {public static void main(String[] args) {// 1. 创建一个ArrayList集合,存储字符串类型元素ArrayList<String> array = new ArrayList<String>();//后面<>中的String是可以省略的// 2. 添加元素到集合中array.add("hello");array.add("world");array.add("java");// 3. 打印集合的初始内容System.out.println("初始集合: " + array);// 4. 删除指定元素// public boolean remove(Object o):删除指定的元素,返回删除是否成功boolean isRemoved = array.remove("world");System.out.println("删除'world'是否成功: " + isRemoved);System.out.println("删除后集合: " + array);// 5. 删除指定索引处的元素// public E remove(int index):删除指定索引处的元素,返回被删除的元素String removedElement = array.remove(1);System.out.println("删除索引1处的元素: " + removedElement);System.out.println("删除后集合: " + array);// 6. 修改指定索引处的元素// public E set(int index, E element):修改指定索引处的元素,返回被修改的元素String oldElement = array.set(0, "javaee");System.out.println("修改索引0处的元素,原元素为: " + oldElement);System.out.println("修改后集合: " + array);// 7. 获取指定索引处的元素// public E get(int index):返回指定索引处的元素String element = array.get(0);System.out.println("索引0处的元素: " + element);// 8. 获取集合的大小// public int size():返回集合中的元素个数int size = array.size();System.out.println("集合的大小: " + size);// 9. 打印最终集合内容System.out.println("最终集合: " + array);}
}
遍历集合练习
package com.hongwu.ArrayListdemo;import java.util.ArrayList;public class Arraylistdemo1 {public static void main(String[] args) {// 1. 创建一个ArrayList集合,存储字符串类型元素ArrayList<String> list = new ArrayList<String>();// 2. 添加元素到集合中list.add("hello");list.add("world");list.add("java");//3.遍历System.out.print("[");for (int i = 0; i < list.size(); i++) {//i 依次表示集合里面的每一个索引if(i == list.size() - 1){//最大索引System.out.print(list.get(i));}else{//非最大索引System.out.print(list.get(i) + ", ");}}System.out.print("]");}
}
添加学生对象并遍历
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 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;}}
stutest遍历测试文件
import java.util.ArrayList;public class stutest {public static void main(String[] args) {//1.创建集合对象,用来存储数据ArrayList<Student> list = new ArrayList<>();//2.创建学生对象Student s1 = new Student("zhangsan",16);Student s2 = new Student("lisi",15);Student s3 = new Student("wangwu",18);//3.把学生对象添加到集合中list.add(s1);list.add(s2);list.add(s3);//4.遍历for (int i = 0; i < list.size(); i++) {//i 依次表示集合中的每一个索引Student stu = list.get(i);System.out.println(stu.getName() + ", " + stu.getAge());}}
}