可以使用以下步骤来实现:

  1. 获取数据库中已存在的考试信息列表。
  2. 创建一个空的列表用于存储截取的考试信息。
  3. 使用循环遍历原始列表,同时计数已截取的考试信息数量。
  4. 在循环中,检查当前考试信息是否已存在于数据库中。如果不存在,将其添加到截取的列表中,并递增截取的考试信息数量。
  5. 继续循环直到截取的考试信息数量达到20个或者原始列表遍历完毕。
  6. 如果截取的考试信息数量不足20个,表示原始列表中的考试信息已经用尽。可以根据需要再取出几个考试信息。
  7. 返回截取的考试信息列表。

以下是一个示例代码实现:

import java.util.ArrayList;
import java.util.List;

public class ExamUtils {
    public static List<Exam> getExamList(List<Exam> originalList, List<Exam> existingExams) {
        List<Exam> extractedExams = new ArrayList<>();
        int extractedCount = 0;

        for (Exam exam : originalList) {
            if (!existingExams.contains(exam)) {
                extractedExams.add(exam);
                extractedCount++;
            }

            if (extractedCount >= 20) {
                break;
            }
        }

        if (extractedCount < 20) {
            // 如果截取的考试信息数量不足20个,可以根据需要再取出几个考试信息
            int additionalCount = 20 - extractedCount;
            for (int i = 0; i < additionalCount; i++) {
                extractedExams.add(originalList.get(i));
                extractedCount++;
            }
        }

        return extractedExams;
    }
}

注意事项:

  • 代码中的 Exam 是一个自定义的考试信息类,你需要根据你的实际情况进行替换。
  • existingExams 是已存在于数据库中的考试信息列表,需要根据你的数据库查询逻辑获取。
  • 原始列表中的考试信息顺序会影响截取的结果,如果需要随机截取可以在循环之前对原始列表进行洗牌操作
java如何截取list中的考试信息如果截取的20个都在数据库中已存在就再取20个如果取得20个中有未存在的就再取出几个凑成20个

原文地址: https://www.cveoy.top/t/topic/iEsS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录