Jelajahi Sumber

优化SimpleQuery中对Map的使用;

Zjp 3 tahun lalu
induk
melakukan
a924952069

+ 3 - 5
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/toolkit/SimpleQuery.java

@@ -178,13 +178,11 @@ public class SimpleQuery {
     public static <A, E> Map<A, List<E>> listGroupBy(List<E> list, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks) {
     public static <A, E> Map<A, List<E>> listGroupBy(List<E> list, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks) {
         return peekStream(list, isParallel, peeks).collect(HashMap::new, (m, v) -> {
         return peekStream(list, isParallel, peeks).collect(HashMap::new, (m, v) -> {
             A key = Optional.ofNullable(v).map(sFunction).orElse(null);
             A key = Optional.ofNullable(v).map(sFunction).orElse(null);
-            List<E> values = m.getOrDefault(key, new ArrayList<>(list.size()));
+            List<E> values = m.computeIfAbsent(key, k -> new ArrayList<>(list.size()));
             values.add(v);
             values.add(v);
-            m.put(key, values);
-        }, (totalMap, nowMap) -> nowMap.forEach((k, v) -> {
-            List<E> values = totalMap.getOrDefault(k, new ArrayList<>(list.size()));
+        }, (totalMap, nowMap) -> nowMap.forEach((key, v) -> {
+            List<E> values = totalMap.computeIfAbsent(key, k -> new ArrayList<>(list.size()));
             values.addAll(v);
             values.addAll(v);
-            totalMap.put(k, values);
         }));
         }));
     }
     }
 
 

+ 1 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/toolkit/SqlHelper.java

@@ -94,7 +94,7 @@ public final class SqlHelper {
      */
      */
     public static TableInfo table(Class<?> clazz) {
     public static TableInfo table(Class<?> clazz) {
         TableInfo tableInfo = TableInfoHelper.getTableInfo(clazz);
         TableInfo tableInfo = TableInfoHelper.getTableInfo(clazz);
-        Assert.notNull(tableInfo, "Error: Cannot execute table Method, ClassGenricType not found .");
+        Assert.notNull(tableInfo, "Error: Cannot execute table Method, ClassGenericType not found.");
         return tableInfo;
         return tableInfo;
     }
     }