Java集合(例题及代码)

时间:2025-03-10 17:57:20
import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class Test { public static void main(String[] args) { List<Student> list = new ArrayList<>(); list.add(new Student(1, "张三", 30)); list.add(new Student(1, "张4", 18)); list.add(new Student(1, "张5", 16)); list.add(new Student(1, "张6", 25)); list.add(new Student(1, "张7", 26)); list.add(new Student(1, "张8", 14)); list.add(new Student(1, "田七", 22)); // 遍历方式1 for (int i = 1; i < list.size(); i++) { } System.out.println(list); System.out.println("-------------------------------------------"); // 遍历方式2 for (Student s2 : list) { System.out.println(s2); } System.out.println("-------------------------------------------"); // 遍历方式3 Iterator<Student> it = list.iterator(); while (it.hasNext()) { Student st = it.next(); System.out.println(st); } System.out.println("-------------------------------------------"); // 2.按姓名查找 Scanner sc = new Scanner(System.in); System.out.println("请输入姓名"); String thename = sc.next(); Student s1 = Function.find(list, thename); if (s1 != null) { System.out.println(s1); } else System.out.println("没有这个学生"); // 3.计算平均年龄 double sum = 0; int average = 0; for (int i = 1; i < list.size(); i++) { sum += (list.get(i).getAge()); average = (int) (sum / list.size()); } System.out.println("平均年龄:" + average); // 计算最大年龄 double max = 0; for (int i = 0; i < list.size(); i++) { if (list.get(i).getAge() > max) { max = list.get(i).getAge(); } } System.out.println("最大值:" + max); // 计算最小年龄 double min = list.get(0).getAge(); for (int i = 0; i < list.size(); i++) { if (list.get(i).getAge() < min) { min = list.get(i).getAge(); } } System.out.println("最小值:" + min); // 4.如果存在名字叫张三的将名字改为张兵 for (int i = 0; i < list.size(); i++) { if (list.get(i).getName().equals("张三")) { list.get(i).setName("张兵"); } } // 5.删除年龄小于20岁 的学生从集合中 for (int i = 0; i < list.size(); i++) { if (list.get(i).getAge() < 20) { list.remove(i); i--; } } for (Student student : list) { System.out.println(student); } } }