Java 集合实战练习,零基础入门到精通,收藏这篇就够了

Java小白从入门到精通,Java零基础入门看这一篇就够了 作为刚刚接触java的小白,今天这篇文章的目的是帮助大家快速入门java,少走弯路 如何快速入门Java? 一、作为刚接触Java的新手,先了解Java的基础。 Java 基本语法、Java 平台应用、Java的核心概念:JVM、JDK、JRE以及Java面向对象思想,同时要会学到如何在系统中搭建Java开发环境,以及如何利用第三方工具进行Java程序的开发。 还有记住学习Java语言最重要的是两点: 学习步骤/方法 学习资源 找到适合自己的学习方式,找到适合自己现阶段的学习资料,学习的过程中最好记笔记,. 阅读详情

Java 集合实战练习题

题目 1:学生管理系统(ArrayList 应用)

题目描述

设计一个学生管理系统,使用 ArrayList 存储学生信息(包括学号 String、姓名 String、年龄 int 和成绩 double),并实现以下功能:

  1. 添加学生信息
  2. 删除指定学号的学生信息
  3. 修改指定学号的学生信息
  4. 查询指定学号的学生信息
  5. 按照从高到低的顺序排序并输出学生信息
要求
  • 使用 ArrayList 存储学生对象。
  • 学生信息包括学号(String)、姓名(String)、年龄(int)和成绩(double)。
  • 通过控制台输入输出进行交互。
解答
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

// 学生类
class Student {
    private String id;
    private String name;
    private int age;
    private double score;

    public Student(String id, String name, int age, double score) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.score = score;
    }

    // Getter 和 Setter 方法
    public String getId() { return id; }
    public String getName() { return name; }
    public int getAge() { return age; }
    public double getScore() { return score; }
    public void setId(String id) { this.id = id; }
    public void setName(String name) { this.name = name; }
    public void setAge(int age) { this.age = age; }
    public void setScore(double score) { this.score = score; }

    @Override
    public String toString() {
        return "学号:" + id + ",姓名:" + name + ",年龄:" + age + ",成绩:" + score;
    }
}

public class StudentManagementSystem {
    private static ArrayList<Student> studentList = new ArrayList<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 学生管理系统 =====");
            System.out.println("1. 添加学生");
            System.out.println("2. 删除学生");
            System.out.println("3. 修改学生");
            System.out.println("4. 查询学生");
            System.out.println("5. 排序并输出学生");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addStudent();
                    break;
                case 2:
                    deleteStudent();
                    break;
                case 3:
                    updateStudent();
                    break;
                case 4:
                    queryStudent();
                    break;
                case 5:
                    sortAndPrintStudents();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加学生
    private static void addStudent() {
        System.out.print("请输入学号:");
        String id = scanner.nextLine();
        System.out.print("请输入姓名:");
        String name = scanner.nextLine();
        System.out.print("请输入年龄:");
        int age = scanner.nextInt();
        System.out.print("请输入成绩:");
        double score = scanner.nextDouble();
        scanner.nextLine(); // 消费换行符

        studentList.add(new Student(id, name, age, score));
        System.out.println("学生添加成功!");
    }

    // 删除学生
    private static void deleteStudent() {
        System.out.print("请输入要删除的学生学号:");
        String id = scanner.nextLine();
        for (int i = 0; i < studentList.size(); i++) {
            if (studentList.get(i).getId().equals(id)) {
                studentList.remove(i);
                System.out.println("学生删除成功!");
                return;
            }
        }
        System.out.println("未找到该学号的学生!");
    }

    // 修改学生
    private static void updateStudent() {
        System.out.print("请输入要修改的学生学号:");
        String id = scanner.nextLine();
        for (Student student : studentList) {
            if (student.getId().equals(id)) {
                System.out.print("请输入新姓名(原姓名:" + student.getName() + "):");
                String name = scanner.nextLine();
                System.out.print("请输入新年龄(原年龄:" + student.getAge() + "):");
                int age = scanner.nextInt();
                System.out.print("请输入新成绩(原成绩:" + student.getScore() + "):");
                double score = scanner.nextDouble();
                scanner.nextLine(); // 消费换行符

                student.setName(name);
                student.setAge(age);
                student.setScore(score);
                System.out.println("学生信息修改成功!");
                return;
            }
        }
        System.out.println("未找到该学号的学生!");
    }

    // 查询学生
    private static void queryStudent() {
        System.out.print("请输入要查询的学生学号:");
        String id = scanner.nextLine();
        for (Student student : studentList) {
            if (student.getId().equals(id)) {
                System.out.println(student);
                return;
            }
        }
        System.out.println("未找到该学号的学生!");
    }

    // 排序并输出学生(成绩从高到低)
    private static void sortAndPrintStudents() {
        Collections.sort(studentList, new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
                // 从高到低,所以用 s2 - s1
                return Double.compare(s2.getScore(), s1.getScore());
            }
        });

        System.out.println("学生信息(成绩从高到低):");
        for (Student student : studentList) {
            System.out.println(student);
        }
    }
}


题目 2:单词统计器(HashMap 应用)

题目描述

编写一个程序,使用 HashMap 统计一段文本中每个单词出现的次数,并输出统计结果。

要求
  • 输入一段文本(例如:“Hello world hello java”)。
  • 使用 HashMap<String, Integer> 存储单词及其出现次数。
  • 输出每个单词及其出现次数(例如:Hello: 2, world: 1, java: 1)。
解答
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class WordCounter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一段文本:");
        String text = scanner.nextLine();

        // 分割单词(按非字母数字字符分割,转小写统一格式)
        String[] words = text.toLowerCase().split("[^a-zA-Z0-9]+");

        HashMap<String, Integer> wordCountMap = new HashMap<>();

        // 统计单词次数
        for (String word : words) {
            if (!word.isEmpty()) { // 排除空字符串
                wordCountMap.put(word, wordCountMap.getOrDefault(word, 0) + 1);
            }
        }

        // 输出结果
        System.out.println("单词统计结果:");
        for (Map.Entry<String, Integer> entry : wordCountMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }

        scanner.close();
    }
}


题目 3:去重与排序(HashSet + TreeSet 应用)

题目描述

给定一个包含重复元素的整数列表,使用 HashSet 去除重复元素,并将去重后的元素按升序排序输出。

要求
  • 使用 ArrayList 存储初始的整数列表。
  • 使用 HashSet 去重。
  • 使用 TreeSet 或 Collections.sort() 对去重后的元素进行升序排序。
  • 输出去重前和去重后的列表。
解答
import java.util.*;

public class RemoveDuplicateAndSort {
    public static void main(String[] args) {
        // 初始列表(包含重复元素)
        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(5, 3, 8, 5, 2, 8, 1, 3));

        System.out.println("去重前的列表:" + list);

        // 使用 HashSet 去重
        HashSet<Integer> hashSet = new HashSet<>(list);

        // 转换为 TreeSet 实现升序排序
        TreeSet<Integer> treeSet = new TreeSet<>(hashSet);

        System.out.println("去重并升序排序后的列表:" + treeSet);

        // 或者使用 ArrayList + Collections.sort()
        ArrayList<Integer> sortedList = new ArrayList<>(hashSet);
        Collections.sort(sortedList);
        System.out.println("去重并升序排序后的列表(另一种方式):" + sortedList);
    }
}


题目 4:投票统计系统(HashMap 应用)

题目描述

设计一个投票统计系统,使用 HashMap 统计候选人的得票数,并输出得票最高的候选人。

要求
  • 使用 HashMap<String, Integer> 存储候选人及其得票数。
  • 支持多次投票(通过控制台输入候选人姓名)。
  • 输出所有候选人的得票数,并输出得票最高的候选人。
解答
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class VotingSystem {
    private static HashMap<String, Integer> voteMap = new HashMap<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("===== 投票系统 =====");
        System.out.println("请输入候选人姓名(输入“end”结束投票):");

        while (true) {
            String candidate = scanner.nextLine();
            if (candidate.equalsIgnoreCase("end")) {
                break;
            }
            // 统计票数(不存在则初始化为1,存在则+1)
            voteMap.put(candidate, voteMap.getOrDefault(candidate, 0) + 1);
        }

        // 输出所有候选人得票
        System.out.println("\n投票结果:");
        for (Map.Entry<String, Integer> entry : voteMap.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue() + "票");
        }

        // 找出得票最高的候选人
        String maxCandidate = null;
        int maxVotes = 0;
        for (Map.Entry<String, Integer> entry : voteMap.entrySet()) {
            if (entry.getValue() > maxVotes) {
                maxVotes = entry.getValue();
                maxCandidate = entry.getKey();
            }
        }
        System.out.println("\n得票最高的候选人是:" + maxCandidate + ",得票数:" + maxVotes);

        scanner.close();
    }
}


题目 5:图书管理系统(ArrayList 应用)

题目描述

设计一个图书管理系统,使用 ArrayList 存储图书信息(包括书名 String、作者 String 和价格 double),并实现以下功能:

  1. 添加图书信息
  2. 删除指定书名的图书信息
  3. 查询某本书的价格
  4. 查询所有图书的平均价格
  5. 按照从低到高的顺序排序并输出图书信息
要求
  • 使用 ArrayList 存储图书对象。
  • 图书信息包括书名(String)、作者(String)和价格(double)。
  • 通过控制台输入输出进行交互。
解答
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

// 图书类
class Book {
    private String name;
    private String author;
    private double price;

    public Book(String name, String author, double price) {
        this.name = name;
        this.author = author;
        this.price = price;
    }

    // Getter 和 Setter 方法
    public String getName() { return name; }
    public String getAuthor() { return author; }
    public double getPrice() { return price; }
    public void setName(String name) { this.name = name; }
    public void setAuthor(String author) { this.author = author; }
    public void setPrice(double price) { this.price = price; }

    @Override
    public String toString() {
        return "书名:" + name + ",作者:" + author + ",价格:" + price;
    }
}

public class BookManagementSystem {
    private static ArrayList<Book> bookList = new ArrayList<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 图书管理系统 =====");
            System.out.println("1. 添加图书");
            System.out.println("2. 删除图书");
            System.out.println("3. 查询图书价格");
            System.out.println("4. 查询图书平均价格");
            System.out.println("5. 排序并输出图书");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addBook();
                    break;
                case 2:
                    deleteBook();
                    break;
                case 3:
                    queryBookPrice();
                    break;
                case 4:
                    queryAveragePrice();
                    break;
                case 5:
                    sortAndPrintBooks();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加图书
    private static void addBook() {
        System.out.print("请输入书名:");
        String name = scanner.nextLine();
        System.out.print("请输入作者:");
        String author = scanner.nextLine();
        System.out.print("请输入价格:");
        double price = scanner.nextDouble();
        scanner.nextLine(); // 消费换行符

        bookList.add(new Book(name, author, price));
        System.out.println("图书添加成功!");
    }

    // 删除图书
    private static void deleteBook() {
        System.out.print("请输入要删除的图书书名:");
        String name = scanner.nextLine();
        for (int i = 0; i < bookList.size(); i++) {
            if (bookList.get(i).getName().equals(name)) {
                bookList.remove(i);
                System.out.println("图书删除成功!");
                return;
            }
        }
        System.out.println("未找到该书名的图书!");
    }

    // 查询图书价格
    private static void queryBookPrice() {
        System.out.print("请输入要查询的图书书名:");
        String name = scanner.nextLine();
        for (Book book : bookList) {
            if (book.getName().equals(name)) {
                System.out.println("《" + book.getName() + "》的价格是:" + book.getPrice());
                return;
            }
        }
        System.out.println("未找到该书名的图书!");
    }

    // 查询图书平均价格
    private static void queryAveragePrice() {
        if (bookList.isEmpty()) {
            System.out.println("没有图书信息!");
            return;
        }
        double totalPrice = 0;
        for (Book book : bookList) {
            totalPrice += book.getPrice();
        }
        double average = totalPrice / bookList.size();
        System.out.println("图书平均价格是:" + average);
    }

    // 排序并输出图书(价格从低到高)
    private static void sortAndPrintBooks() {
        Collections.sort(bookList, new Comparator<Book>() {
            @Override
            public int compare(Book b1, Book b2) {
                // 从低到高,所以用 b1 - b2
                return Double.compare(b1.getPrice(), b2.getPrice());
            }
        });

        System.out.println("图书信息(价格从低到高):");
        for (Book book : bookList) {
            System.out.println(book);
        }
    }
}


题目 6:员工部门管理系统(HashMap + ArrayList 应用)

题目描述

设计一个员工部门管理系统,使用 HashMap<String, ArrayList<String>> 存储部门及其员工列表,并实现以下功能:

  1. 添加部门及员工
  2. 按照部门名称检索该部门的所有员工
  3. 删除某个部门
  4. 统计每个部门的员工数量
  5. 输出所有部门及其员工信息
要求
  • 使用 HashMap<String, ArrayList<String>> 存储“部门名称-员工列表”的映射。
  • 部门名称和员工均为字符串类型。
  • 通过控制台输入输出进行交互。
解答
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class DepartmentEmployeeSystem {
    private static HashMap<String, ArrayList<String>> deptEmpMap = new HashMap<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 员工部门管理系统 =====");
            System.out.println("1. 添加部门及员工");
            System.out.println("2. 按部门检索员工");
            System.out.println("3. 删除部门");
            System.out.println("4. 统计部门员工数量");
            System.out.println("5. 输出所有部门及员工");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addDeptAndEmployee();
                    break;
                case 2:
                    queryEmployeesByDept();
                    break;
                case 3:
                    deleteDepartment();
                    break;
                case 4:
                    countEmployeesInDept();
                    break;
                case 5:
                    printAllDeptAndEmployees();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加部门及员工
    private static void addDeptAndEmployee() {
        System.out.print("请输入部门名称:");
        String dept = scanner.nextLine();
        System.out.print("请输入员工姓名:");
        String emp = scanner.nextLine();

        if (!deptEmpMap.containsKey(dept)) {
            deptEmpMap.put(dept, new ArrayList<>());
        }
        deptEmpMap.get(dept).add(emp);
        System.out.println("部门及员工添加成功!");
    }

    // 按部门检索员工
    private static void queryEmployeesByDept() {
        System.out.print("请输入要检索的部门名称:");
        String dept = scanner.nextLine();
        if (deptEmpMap.containsKey(dept)) {
            System.out.println(dept + " 部门的员工:" + deptEmpMap.get(dept));
        } else {
            System.out.println("未找到该部门!");
        }
    }

    // 删除部门
    private static void deleteDepartment() {
        System.out.print("请输入要删除的部门名称:");
        String dept = scanner.nextLine();
        if (deptEmpMap.containsKey(dept)) {
            deptEmpMap.remove(dept);
            System.out.println("部门删除成功!");
        } else {
            System.out.println("未找到该部门!");
        }
    }

    // 统计部门员工数量
    private static void countEmployeesInDept() {
        System.out.print("请输入要统计的部门名称:");
        String dept = scanner.nextLine();
        if (deptEmpMap.containsKey(dept)) {
            int count = deptEmpMap.get(dept).size();
            System.out.println(dept + " 部门的员工数量:" + count);
        } else {
            System.out.println("未找到该部门!");
        }
    }

    // 输出所有部门及员工
    private static void printAllDeptAndEmployees() {
        System.out.println("所有部门及员工信息:");
        for (Map.Entry<String, ArrayList<String>> entry : deptEmpMap.entrySet()) {
            System.out.println(entry.getKey() + " 部门:" + entry.getValue());
        }
    }
}


题目 7:商品库存管理系统(ArrayList 应用)

题目描述

设计一个商品库存管理系统,使用 ArrayList 存储商品信息(包含商品编号 String、名称 String、价格 double 和库存数 int),并实现以下功能:

  1. 添加商品信息
  2. 按照商品编号查询商品信息
  3. 更新商品的库存数量
  4. 输出库存数量大于某个阈值的商品
  5. 按照从低到高的顺序排序并输出商品信息
要求
  • 使用 ArrayList 存储商品对象。
  • 商品信息包含编号、名称、价格和库存数。
  • 通过控制台输入输出进行交互。
解答
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

// 商品类
class Product {
    private String id;
    private String name;
    private double price;
    private int stock;

    public Product(String id, String name, double price, int stock) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.stock = stock;
    }

    // Getter 和 Setter 方法
    public String getId() { return id; }
    public String getName() { return name; }
    public double getPrice() { return price; }
    public int getStock() { return stock; }
    public void setStock(int stock) { this.stock = stock; }

    @Override
    public String toString() {
        return "编号:" + id + ",名称:" + name + ",价格:" + price + ",库存:" + stock;
    }
}

public class ProductInventorySystem {
    private static ArrayList<Product> productList = new ArrayList<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 商品库存管理系统 =====");
            System.out.println("1. 添加商品");
            System.out.println("2. 按编号查询商品");
            System.out.println("3. 更新商品库存");
            System.out.println("4. 输出库存大于阈值的商品");
            System.out.println("5. 按价格排序输出商品");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addProduct();
                    break;
                case 2:
                    queryProductById();
                    break;
                case 3:
                    updateProductStock();
                    break;
                case 4:
                    printProductsWithStockAboveThreshold();
                    break;
                case 5:
                    sortAndPrintProductsByPrice();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加商品
    private static void addProduct() {
        System.out.print("请输入商品编号:");
        String id = scanner.nextLine();
        System.out.print("请输入商品名称:");
        String name = scanner.nextLine();
        System.out.print("请输入商品价格:");
        double price = scanner.nextDouble();
        System.out.print("请输入商品库存:");
        int stock = scanner.nextInt();
        scanner.nextLine(); // 消费换行符

        productList.add(new Product(id, name, price, stock));
        System.out.println("商品添加成功!");
    }

    // 按编号查询商品
    private static void queryProductById() {
        System.out.print("请输入要查询的商品编号:");
        String id = scanner.nextLine();
        for (Product product : productList) {
            if (product.getId().equals(id)) {
                System.out.println(product);
                return;
            }
        }
        System.out.println("未找到该编号的商品!");
    }

    // 更新商品库存
    private static void updateProductStock() {
        System.out.print("请输入要更新的商品编号:");
        String id = scanner.nextLine();
        for (Product product : productList) {
            if (product.getId().equals(id)) {
                System.out.print("请输入新库存(原库存:" + product.getStock() + "):");
                int stock = scanner.nextInt();
                scanner.nextLine(); // 消费换行符
                product.setStock(stock);
                System.out.println("商品库存更新成功!");
                return;
            }
        }
        System.out.println("未找到该编号的商品!");
    }

    // 输出库存大于阈值的商品
    private static void printProductsWithStockAboveThreshold() {
        System.out.print("请输入库存阈值:");
        int threshold = scanner.nextInt();
        scanner.nextLine(); // 消费换行符

        System.out.println("库存大于" + threshold + "的商品:");
        for (Product product : productList) {
            if (product.getStock() > threshold) {
                System.out.println(product);
            }
        }
    }

    // 按价格排序输出商品(从低到高)
    private static void sortAndPrintProductsByPrice() {
        Collections.sort(productList, new Comparator<Product>() {
            @Override
            public int compare(Product p1, Product p2) {
                return Double.compare(p1.getPrice(), p2.getPrice());
            }
        });

        System.out.println("商品按价格从低到高排序:");
        for (Product product : productList) {
            System.out.println(product);
        }
    }
}


题目 8:课程选修系统(HashMap + ArrayList 应用)

题目描述

设计一个课程选修系统,使用 HashMap<String, ArrayList<String>> 存储学生及其选修的课程列表,并实现以下功能:

  1. 添加学生及选修的课程
  2. 按照学生姓名检索其选修的课程
  3. 删除某个学生的选课记录
  4. 统计每门课程的选课人数
  5. 输出所有学生及其选课信息
要求
  • 使用 HashMap<String, ArrayList<String>> 存储“学生姓名-课程列表”的映射。
  • 学生姓名和课程均为字符串类型。
  • 通过控制台输入输出进行交互。
解答
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class CourseSelectionSystem {
    private static HashMap<String, ArrayList<String>> studentCourseMap = new HashMap<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 课程选修系统 =====");
            System.out.println("1. 添加学生及选课");
            System.out.println("2. 按学生检索课程");
            System.out.println("3. 删除学生选课记录");
            System.out.println("4. 统计课程选课人数");
            System.out.println("5. 输出所有学生及选课");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addStudentAndCourse();
                    break;
                case 2:
                    queryCoursesByStudent();
                    break;
                case 3:
                    deleteStudentCourseRecord();
                    break;
                case 4:
                    countCourseSelection();
                    break;
                case 5:
                    printAllStudentAndCourses();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加学生及选课
    private static void addStudentAndCourse() {
        System.out.print("请输入学生姓名:");
        String student = scanner.nextLine();
        System.out.print("请输入课程名称:");
        String course = scanner.nextLine();

        if (!studentCourseMap.containsKey(student)) {
            studentCourseMap.put(student, new ArrayList<>());
        }
        studentCourseMap.get(student).add(course);
        System.out.println("学生选课添加成功!");
    }

    // 按学生检索课程
    private static void queryCoursesByStudent() {
        System.out.print("请输入要检索的学生姓名:");
        String student = scanner.nextLine();
        if (studentCourseMap.containsKey(student)) {
            System.out.println(student + " 选修的课程:" + studentCourseMap.get(student));
        } else {
            System.out.println("未找到该学生!");
        }
    }

    // 删除学生选课记录
    private static void deleteStudentCourseRecord() {
        System.out.print("请输入要删除选课记录的学生姓名:");
        String student = scanner.nextLine();
        if (studentCourseMap.containsKey(student)) {
            studentCourseMap.remove(student);
            System.out.println("学生选课记录删除成功!");
        } else {
            System.out.println("未找到该学生!");
        }
    }

    // 统计课程选课人数
    private static void countCourseSelection() {
        HashMap<String, Integer> courseCountMap = new HashMap<>();
        for (ArrayList<String> courses : studentCourseMap.values()) {
            for (String course : courses) {
                courseCountMap.put(course, courseCountMap.getOrDefault(course, 0) + 1);
            }
        }

        System.out.println("课程选课人数统计:");
        for (Map.Entry<String, Integer> entry : courseCountMap.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue() + "人");
        }
    }

    // 输出所有学生及选课
    private static void printAllStudentAndCourses() {
        System.out.println("所有学生及选课信息:");
        for (Map.Entry<String, ArrayList<String>> entry : studentCourseMap.entrySet()) {
            System.out.println(entry.getKey() + " 选修的课程:" + entry.getValue());
        }
    }
}


题目 9:音乐播放列表管理系统(LinkedList 应用)

题目描述

设计一个音乐播放列表管理系统,使用 LinkedList 存储歌曲名称,并实现以下功能:

  1. 添加歌曲到播放列表
  2. 移除播放列表中的指定歌曲
  3. 随机播放列表中的任意歌曲
  4. 输出当前播放列表中的所有歌曲
  5. 实现上一首/下一首功能,模拟播放器的切换歌曲操作
要求
  • 使用 LinkedList<String> 存储歌曲名称。
  • 使用 LinkedList 的特性(双向遍历)实现上一首/下一首功能。
  • 通过控制台输入输出进行交互。
解答
import java.util.LinkedList;
import java.util.Random;
import java.util.Scanner;

public class MusicPlaylistSystem {
    private static LinkedList<String> playlist = new LinkedList<>();
    private static int currentIndex = -1; // 当前播放歌曲的索引,-1表示无播放
    private static Scanner scanner = new Scanner(System.in);
    private static Random random = new Random();

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 音乐播放列表管理系统 =====");
            System.out.println("1. 添加歌曲");
            System.out.println("2. 移除歌曲");
            System.out.println("3. 随机播放歌曲");
            System.out.println("4. 输出所有歌曲");
            System.out.println("5. 上一首");
            System.out.println("6. 下一首");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addSong();
                    break;
                case 2:
                    removeSong();
                    break;
                case 3:
                    playRandomSong();
                    break;
                case 4:
                    printAllSongs();
                    break;
                case 5:
                    playPreviousSong();
                    break;
                case 6:
                    playNextSong();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加歌曲
    private static void addSong() {
        System.out.print("请输入歌曲名称:");
        String song = scanner.nextLine();
        playlist.add(song);
        System.out.println("歌曲添加成功!");
    }

    // 移除歌曲
    private static void removeSong() {
        System.out.print("请输入要移除的歌曲名称:");
        String song = scanner.nextLine();
        if (playlist.remove(song)) {
            // 如果移除的是当前播放的歌曲,重置索引
            if (currentIndex != -1 && playlist.size() < currentIndex + 1) {
                currentIndex = -1;
            }
            System.out.println("歌曲移除成功!");
        } else {
            System.out.println("未找到该歌曲!");
        }
    }

    // 随机播放歌曲
    private static void playRandomSong() {
        if (playlist.isEmpty()) {
            System.out.println("播放列表为空!");
            return;
        }
        currentIndex = random.nextInt(playlist.size());
        System.out.println("正在播放:" + playlist.get(currentIndex));
    }

    // 输出所有歌曲
    private static void printAllSongs() {
        System.out.println("播放列表中的歌曲:");
        for (int i = 0; i < playlist.size(); i++) {
            String status = (currentIndex == i) ? " [当前播放]" : "";
            System.out.println((i + 1) + ". " + playlist.get(i) + status);
        }
    }

    // 上一首
    private static void playPreviousSong() {
        if (playlist.isEmpty()) {
            System.out.println("播放列表为空!");
            return;
        }
        if (currentIndex == -1) {
            currentIndex = 0;
        } else {
            currentIndex = (currentIndex - 1 + playlist.size()) % playlist.size();
        }
        System.out.println("正在播放:" + playlist.get(currentIndex));
    }

    // 下一首
    private static void playNextSong() {
        if (playlist.isEmpty()) {
            System.out.println("播放列表为空!");
            return;
        }
        if (currentIndex == -1) {
            currentIndex = 0;
        } else {
            currentIndex = (currentIndex + 1) % playlist.size();
        }
        System.out.println("正在播放:" + playlist.get(currentIndex));
    }
}


题目 10:城市天气统计系统(HashMap 应用)

题目描述

设计一个城市天气统计系统,使用 HashMap<String, Weather> 存储城市及其天气信息(包括温度 double 和天气状况 String),并实现以下功能:

  1. 添加城市及其天气信息
  2. 按照城市名称检索天气信息
  3. 删除某个城市的天气信息
  4. 输出温度最高的城市及其天气信息
  5. 输出所有城市及其天气信息
要求
  • 使用 HashMap<String, Weather> 存储“城市名称-天气对象”的映射。
  • 天气信息包含温度和天气状况。
  • 通过控制台输入输出进行交互。
解答
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

// 天气类
class Weather {
    private double temperature;
    private String condition;

    public Weather(double temperature, String condition) {
        this.temperature = temperature;
        this.condition = condition;
    }

    // Getter 方法
    public double getTemperature() { return temperature; }
    public String getCondition() { return condition; }

    @Override
    public String toString() {
        return "温度:" + temperature + "℃,天气:" + condition;
    }
}

public class CityWeatherSystem {
    private static HashMap<String, Weather> cityWeatherMap = new HashMap<>();
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        while (true) {
            System.out.println("===== 城市天气统计系统 =====");
            System.out.println("1. 添加城市天气");
            System.out.println("2. 按城市检索天气");
            System.out.println("3. 删除城市天气");
            System.out.println("4. 输出温度最高的城市天气");
            System.out.println("5. 输出所有城市天气");
            System.out.println("0. 退出系统");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消费换行符

            switch (choice) {
                case 1:
                    addCityWeather();
                    break;
                case 2:
                    queryCityWeather();
                    break;
                case 3:
                    deleteCityWeather();
                    break;
                case 4:
                    printCityWithHighestTemperature();
                    break;
                case 5:
                    printAllCityWeather();
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    return;
                default:
                    System.out.println("输入有误,请重新选择!");
            }
        }
    }

    // 添加城市天气
    private static void addCityWeather() {
        System.out.print("请输入城市名称:");
        String city = scanner.nextLine();
        System.out.print("请输入温度:");
        double temperature = scanner.nextDouble();
        System.out.print("请输入天气状况:");
        scanner.nextLine(); // 消费换行符
        String condition = scanner.nextLine();

        cityWeatherMap.put(city, new Weather(temperature, condition));
        System.out.println("城市天气添加成功!");
    }

    // 按城市检索天气
    private static void queryCityWeather() {
        System.out.print("请输入要检索的城市名称:");
        String city = scanner.nextLine();
        if (cityWeatherMap.containsKey(city)) {
            System.out.println(city + " 的天气:" + cityWeatherMap.get(city));
        } else {
            System.out.println("未找到该城市的天气信息!");
        }
    }

    // 删除城市天气
    private static void deleteCityWeather() {
        System.out.print("请输入要删除的城市名称:");
        String city = scanner.nextLine();
        if (cityWeatherMap.containsKey(city)) {
            cityWeatherMap.remove(city);
            System.out.println("城市天气信息删除成功!");
        } else {
            System.out.println("未找到该城市的天气信息!");
        }
    }

    // 输出温度最高的城市天气
    private static void printCityWithHighestTemperature() {
        if (cityWeatherMap.isEmpty()) {
            System.out.println("没有城市天气信息!");
            return;
        }
        String maxCity = null;
        double maxTemp = -Double.MAX_VALUE;
        for (Map.Entry<String, Weather> entry : cityWeatherMap.entrySet()) {
            if (entry.getValue().getTemperature() > maxTemp) {
                maxTemp = entry.getValue().getTemperature();
                maxCity = entry.getKey();
            }
        }
        System.out.println("温度最高的城市:" + maxCity + ",天气:" + cityWeatherMap.get(maxCity));
    }

    // 输出所有城市天气
    private static void printAllCityWeather() {
        System.out.println("所有城市天气信息:");
        for (Map.Entry<String, Weather> entry : cityWeatherMap.entrySet()) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
    }
}

Java开发的就业市场正在经历结构性调整,竞争日益激烈

传统纯业务开发岗位(如仅完成增删改查业务的后端工程师)的需求,特别是入门级岗位,正显著萎缩。随着企业技术需求升级,市场对Java人才的要求已从通用技能转向了更深入的领域经验(如云原生、微服务)或前沿的AI集成能力。这也导致岗位竞争加剧,在一、二线城市,求职者不仅面临技术内卷,还需应对学历与项目经验的高门槛。

大模型为核心的AI领域正展现出前所未有的就业热度与人才红利

2025年,AI相关新发岗位数量同比激增543%,单月增幅最高超过11倍,大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡,议价能力极强,跳槽薪资涨幅可达30%-50%。值得注意的是,市场并非单纯青睐算法研究员,而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师,在向“Java+大模型”复合人才转型时拥有独特优势,成为企业竞相争夺的对象,其薪资天花板也远高于传统Java岗位。

在这里插入图片描述

说真的,这两年看着身边一个个搞Java、C++、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis,稳稳当当过日子。

结果GPT、DeepSeek火了之后,整条线上的人都开始有点慌了,大家都在想:“我是不是要学大模型,不然这饭碗还能保多久?”

先给出最直接的答案:一定要把现有的技术和大模型结合起来,而不是抛弃你们现有技术!掌握AI能力的Java工程师比纯Java岗要吃香的多。

即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地!大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇!

如何学习AGI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享**

一、2025最新大模型学习路线

一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1级别:AI大模型时代的华丽登场

L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。

L2级别:AI大模型RAG应用开发工程

L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3级别:大模型Agent应用架构进阶实践

L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。

L4级别:大模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

二、大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

三、大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

四、大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

五、大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

Java之集合及其练习 什么是集合提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点长度可以变化,只能存储引用数据类型。泛型的使用用于约束集合中存储元素的数据类型。 阅读详情

相关推荐

HFSS入门学习笔记——微带一分四功分器的设计与仿真

功率分配器是将输入信号功率分成相等或不相等的几路功率输出的一种多端口无源微波网络,用于功率分配和功率合成。工程上常用的微带功分器有T型功分器和威尔金森功分器。经典的威尔金森功分器有几个缺点:①、多应用于低频段,高频段时,波长会与隔离电阻的尺寸相比拟,此时需要考虑电阻的分布参数效应;②、大功率应用时,隔离电阻的耗散功率要很大,因此隔离电阻的体积也会比较大。

weixin_42126696的博客 2万+

零基础也能学习JAVA的诀窍

很多JAVA自学者都会问:我应该怎么学习JAVA,正确的学习方法是什么?首先看看学习JAVA要掌握那些知识呢? 1、学习的基本路径 首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把...

cskb37299的博客 744

STM32F103VET6实战:用W25Q64外部Flash实现Bootloader+Application双备份(含完整代码解析)

本文详细介绍了基于STM32F103VET6微控制器和W25Q64外部Flash实现Bootloader+Application双备份固件升级的完整方案。通过精心设计的Flash分区策略、可靠的Bootloader程序以及包含双重校验和自动回滚机制的升级流程,有效解决了远程升级过程中断电导致设备变砖的风险,确保了工业嵌入式系统的高可靠性与稳定性。

linux的博客 823

Java-集合题目大全

题目一:需求:使用数组存储3个学生信息,遍历数组获取到每一个学生信息 package com.shujia.wyh.day18; /* 需求:使用数组存储3个学生信息,遍历数组获取到每一个学生信息 */ public class ObjectArrayDemo1 { public static void main(String[] args) { Student...

weixin_48370579的博客 2286

阿里云人工智能工程师ACA认证免费课程学习笔记

阿里云人工智能工程师ACA认证免费课程学习笔记

engchina的专栏 2014

Unity 数字孪生笔记1 工具介绍

前言 工欲善其事必先利其器 流程思考 数字孪生本质上一种基于实际物理数据的可视化方案,通过对接实际数据,在三维界面中展示孪生结果。 那么这个流程就很简单了。 整个流程分为三块:数据来源-》数据分析-》数据展示 输入数据 首先我们需要考虑我们能拿到什么。第一,实际物体的三维数据从哪里来,第二,实际数据怎么获取到。 模型数据 工业上常常会用到CAD模型,CAD模型具有精确、统一的特点,但是CAD不是三角面片,我们不能直接导出到Unity中,而且导入之后有很多不合理的地方,例如面片杂乱、面数过高等问题。针对这个

Thissky的专栏 1万+

Java 集合练习题

第一题:创建一个List集合的对象,添加几条数据,将1号位和2号位交换;获得最大值,最小值打印出来,最后再遍历该集合并把元素打印出来 public class ListDemo { /*创建一个List集合的对象,添加几条数据, 将1号位和2号位交换;获得最大值,最小值打印出来, 最后再遍历该集合并把元素打印出来*/ public static void main(String[] args) { //创建ArrayList对象 List li

weixin_44193337的博客 4578

python+playwright 学习-10.pytest-playwright插件编写测试用例

pytest-playwright插件完美的继承了pytest 用例框架和playwright基础使用的封装,基本能满足工作中的常规需求了,不需要我们再做额外的插件开发。

qq_27371025的博客 2516

Java集合练习

Java 集合可分为 Collection 和 Map 两种体系。

qq_43818546的博客 925

H3C BGP联盟实验

bgp,bgp联盟,bgp公认团体属性,

一只懒羊羊 970

rk3576 点亮 LCD(mipi)

瑞芯微 RK3576 是一款面向中高端 AIoT 市场的 SoC,其 MIPI DSI (Display Serial Interface) 接口在性能和灵活性上相比前代(如 RK3399/RK3568)有显著提升,特别是在物理层协议的支持上更加现代化。相比RK3399 RK3568的mipi 接口少了 8lane,但是RK3576 MIPI DSI 增加更低功耗的 C-PHY。

weixin_35723192的博客 364

Java 集合 练习

集合练习

wangjh11234的博客 802

运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!

将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 401

2025版最新零基础学Java,从入门到精通的完整指南,收藏这篇就够了_java编程入门到精通

无论你是想成为一名专业的Java开发者,还是对编程感兴趣的爱好者,这篇教程都能帮你打下扎实的基础。

程序员阿飘 的博客 2005

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java 集合,零基础入门到精通,收藏这篇就够了

集合建立在数组基础上,主要位于java.util包中,用来存储Java类对象,并且可以实现各种数据结构。集合大小可以改变,可以存放不同数据类型数据。集合不能存放基本类型数据,只能存放引用数据类型数据。集合不仅可以方便地存放数据,而且提供了添加、读取和删除数据等实用方法。集合中只能存放对象,JVM会自动将基本类型与相应的包装类型转换(装箱:基本类型→对象;拆箱:对象→基本类型)。二、Java集合的类框架**接口:**是代表集合的抽象数据类型。

Python_0011的博客 768

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Java】2025 年 Java 学习路线:从入门到精通,收藏这篇就够了

Java作为一门拥有近30年历史的编程语言,凭借其和,始终占据编程语言排行榜前列。面对云原生、微服务、AI等技术的蓬勃发展,Java也在持续进化(如虚拟线程、GraalVM)。本文将为初学者和进阶者梳理一条清晰的2025年Java学习路线,涵盖的全流程,并提供实用的学习资源推荐。

Libra1313的博客 3045

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【hacker送书第8期】Java从入门到精通(第7版)

【hacker送书第8期】Java从入门到精通(第7版),欢迎大家参与!!!

hacker707的博客 9653

java中的集合_java集合,零基础入门到精通,收藏这篇就够了

1、集合只能存放对象2、集合与数组的不同在于:集合可变长度,不限制元素的类型,存储任意类类型的数据,也可以限定元素的类型——泛型3、集合可以自动扩容Set接口没有提供Collection接口额外的方法,但实现Set接口的集合类中的元素是不可重复的。JDKAPI中所提供的Set集合类常用的有:​ HashSet:散列存放(重点)​ TreeSet:有序存放(重点)​ LinkedHashSet: 有次序。

Javachichi的博客 1214

零基础学Java,(非常详细)从零基础到精通,收藏这篇就够了!

无论你是想成为一名专业的Java开发者,还是对编程感兴趣的爱好者,这篇教程都能帮你打下扎实的基础。

Javachichi的博客 3823

2025版最新零基础学Java,(非常详细)从零基础入门到精通,收藏这篇就够了

无论你是想成为一名专业的Java开发者,还是对编程感兴趣的爱好者,这篇教程都能帮你打下扎实的基础。

Javachichi的博客 3040

Java集合框架全面详解,零基础入门到精通,收藏这篇就够了

集合框架是一个统一的架构,用于表示和操作集合,使集合能够独立于其实现细节进行操作。Java集合框架提供了一系列接口和类,用于存储、检索、操作和传输数据对象。尽管Java集合框架提供了丰富的实现,但有时您可能需要创建自定义的集合类。扩展现有集合类@Override@Override实现集合接口size = 0;@Override@Override@Override// 省略其他必要的方法实现...使用组合而非继承@Override。

Libra1313的博客 965

最新Java教程(非常详细)零基础入门到精通,收藏这篇就够了

有些大厂,例如奇安信,甚至会将渗透岗位分为红蓝两方,对候选人的技术要求比较高,大部分刚入行的新人,也将渗透岗位作为后期的发展目标。①就业环境:网络安全可以在计算机科学与技术、信息通信、电子商务、互联网金融、电子政务等领域从事相关工作,还可以在政府机关事业单位、银行、保险、证券等金融机构,电信、传媒等行业从事相关工作。推进相关安全管控策略在平台落地、执行。**岗位释义:**主要负责信息安全事件应急响应、攻击溯源、取证分析工作,参与应急响应、攻击溯源、取证分析技术的研究,提升整体重大信息安全事件应急处置能力。

Python_0011的博客 4768

2025版最新零基础学Java,从入门到精通的完整指南,收藏这篇就够了

无论你是想成为一名专业的Java开发者,还是对编程感兴趣的爱好者,这篇教程都能帮你打下扎实的基础。

Libra1313的博客 4417

JAVA中的Map集合,零基础入门到精通,收藏这篇就够了

Map 是 Java 中一种非常重要的集合类型,用于存储键值对(key-value pairs)。它的常见实现类包括 HashMap、TreeMap、LinkedHashMap 等,主要区别在于它们对键值对的存储和顺序管理方式。添加一个键值对到 Map 中,键已存在则更新对应的值。map.put("手表", 100);map.put("手表", 220);// 更新"手表"的值map.put("手机", 2);// 输出: {手表=220, 手机=2}Map提供了丰富的功能来管理键值对。

leah126的博客 943

java常见集合有什么_java 有哪些集合,零基础入门到精通,收藏这篇就够了

分类接口/类特点适用场景ListArrayList动态数组,查询快频繁读取,较少修改LinkedList双向链表,增删快频繁插入、删除(如队列、栈)SetHashSet哈希表实现,无序快速去重、查找维护插入顺序需保留插入顺序TreeSet红黑树实现,自动排序需要有序数据QueueLinkedList双端队列普通队列或栈操作堆实现,优先级排序任务调度、优先级队列MapHashMap哈希表,无序高频读写维护插入/访问顺序LRU缓存、保留顺序TreeMap红黑树,自动排序。

Python_0011的博客 710
上一篇: java浪漫代码_程序员表白代码,用过的人都找到了对象...,零基础入门到精通,收藏这篇就够了
下一篇: 失业程序员找工作day12
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值