Browse Source

LinkedHashMap 问题排序

wuweihao 3 years ago
parent
commit
03914a6f4c

+ 3 - 2
gis_cms/src/main/java/com/gis/cms/entity/dto/TopicDto.java

@@ -2,6 +2,7 @@ package com.gis.cms.entity.dto;
 
 import lombok.Data;
 
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
@@ -14,8 +15,8 @@ public class TopicDto {
     // 题目
     private String topic;
 
-    // 选项, 序号:选项
-    private Map<String, String> options;
+    // 选项, 序号:选项 使用LinkedHashMap区分顺序
+    private LinkedHashMap<String, String> options;
 
     // 正确答案序号
     private String correct;

+ 7 - 8
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionGroupServiceImpl.java

@@ -36,10 +36,7 @@ import tk.mybatis.mapper.entity.Condition;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -197,8 +194,8 @@ public class QuestionGroupServiceImpl extends IBaseServiceImpl<QuestionGroupEnti
         }
         log.info("题组名称:{}", groupTitle );
 
-        // 重第三行读取,直接读取题目跟选项
-        HashMap<String, TopicDto> topicMap = new HashMap<>();
+        // 从第三行读取,直接读取题目跟选项, 使用LinkedHashMap区分顺序
+        LinkedHashMap<String, TopicDto> topicMap = new LinkedHashMap<>();
         String topic = null;
         for (int i = 2; i < read.size(); i++) {
             List<Object> list = read.get(i);
@@ -248,9 +245,9 @@ public class QuestionGroupServiceImpl extends IBaseServiceImpl<QuestionGroupEnti
 
 
 
-                Map<String, String> options = topicDto.getOptions();
+                LinkedHashMap<String, String> options = topicDto.getOptions();
                 if (CollectionUtil.isEmpty(options)){
-                    options = new HashMap<>();
+                    options = new LinkedHashMap<>();
                 }
                 options.put(random, option);
 
@@ -288,6 +285,8 @@ public class QuestionGroupServiceImpl extends IBaseServiceImpl<QuestionGroupEnti
 
     }
 
+
+
     /**
      * 解析选项
      * @param options