集合是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());
}
}
}
















