Java集合框架详解与案例讲解
1. Java集合框架简介
Java集合框架(Collections Framework)是Java中用于存储和操作对象集合的一组类和接口。它提供了一套设计良好的接口和类来实现不同的数据结构,如列表、集合、映射、队列和栈等。
Java集合框架主要包括两大接口:Collection和Map。其中,Collection接口的子接口包括List、Set和Queue等,而Map接口则用于存储键值对。
2. ArrayList详解与案例
ArrayList是Java集合框架中的一个实现类,它实现了List接口,并基于数组来存储元素。ArrayList支持动态扩容,并且允许元素重复和包含null值。
2.1 ArrayList基本用法
下面是一个简单的ArrayList使用示例:
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("苹果");
list.add("香蕉");
list.add("橙子");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
2.2 ArrayList案例:学生信息存储h3>
下面是一个使用ArrayList存储学生信息的示例:
import java.util.ArrayList;
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{name='" + name + "', age=" + age + "}";
}
}
public class StudentListExample {
public static void main(String[] args) {
ArrayList students = new ArrayList();
students.add(new Student("张三", 20));
students.add(new Student("李四", 22));
students.add(new Student("王五", 21));
for (Student student : students) {
System.out.println(student);
}
}
}
3. HashMap详解与案例
HashMap是Java集合框架中的一个实现类,它实现了Map接口,并基于哈希表来存储键值对。HashMap不允许键重复,但允许值重复和包含null键和null值。
3.1 HashMap基本用法
下面是一个简单的HashMap使用示例:
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap map = new HashMap();
map.put("苹果", 1);
map.put("香蕉", 2);
map.put("橙子", 3);
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
3.2 HashMap案例:学生成绩存储
下面是一个使用HashMap存储学生成绩的示例:
import java.util.HashMap;
class StudentScore {
private String studentName;
private HashMap scores;
public StudentScore(String studentName) {
this.studentName = studentName;
this.scores = new HashMap();
}
public void addScore(String subject, int score) {
scores.put(subject, score);
}
@Override
public String toString() {
return "StudentScore{name='" + studentName + "', scores=" + scores + "}";
}
}
public class StudentScoreExample {
public static void main(String[] args) {
StudentScore student = new StudentScore("张三");
student.addScore("数学", 90);
student.addScore("英语", 85);
student.addScore("物理", 92);
System.out.println(student);
}
}