外观
随堂实操任务清单 第 8 讲
💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。
实操 1动态列表 ArrayList 增删改查与包装类自动装箱演示
ArrayListDemo.javajava
import java.util.ArrayList;
import java.util.Collections;
/**
* 动态列表 ArrayList 增删改查与包装类自动装箱演示
* @author MatNoble
*/
public class ArrayListDemo {
public static void main(String[] args) {
// 泛型动态集合
ArrayList<String> students = new ArrayList<>();
// 1. 添加元素
students.add("张三");
students.add("李四");
students.add("王五");
students.add(1, "赵六"); // 插入到索引 1
System.out.println("当前花名册: " + students);
System.out.println("花名册总人数: " + students.size());
// 2. 查询与修改
System.out.println("第 0 号学生: " + students.get(0));
students.set(2, "李小四");
// 3. 排序
Collections.sort(students);
System.out.println("字典序排序后: " + students);
}
}实操 2经典冒泡排序 (优化提前跳出版)
BubbleSortDemo.javajava
import java.util.Arrays;
/**
* 经典冒泡排序 (优化提前跳出版)
* @author MatNoble
*/
public class BubbleSortDemo {
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
boolean swapped = false;
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
if (!swapped) break; // 若无交换,说明已经排好序
}
}
public static void main(String[] args) {
int[] data = { 64, 34, 25, 12, 22, 11, 90 };
System.out.println("排序前: " + Arrays.toString(data));
bubbleSort(data);
System.out.println("冒泡排序后: " + Arrays.toString(data));
}
}实操 3动态学生成绩花名册与降序排行榜管理系统
StudentRosterManager.javajava
import java.util.ArrayList;
import java.util.Collections;
/**
* 随堂实操任务 8:动态学生成绩花名册与降序排行榜管理系统
* @author MatNoble
*/
public class StudentRosterManager {
public static void main(String[] args) {
ArrayList<Double> scoreList = new ArrayList<>();
scoreList.add(88.5);
scoreList.add(95.0);
scoreList.add(72.0);
scoreList.add(64.5);
scoreList.add(91.0);
// 降序排序
scoreList.sort(Collections.reverseOrder());
System.out.println("=========================================");
System.out.println(" 学生成绩降序排行榜 ");
System.out.println("-----------------------------------------");
for (int i = 0; i < scoreList.size(); i++) {
System.out.printf(" 第 %d 名 : %6.2f 分\n", (i + 1), scoreList.get(i));
}
System.out.println("=========================================");
}
}
不想公开提问?
关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。