Przeglądaj źródła

1- 调整返回数据类型为非排列之前的。

bijl 5 lat temu
rodzic
commit
650ee7da0f

+ 8 - 3
algorithm/src/main/java/org/algorithm/core/RelationTreeUtils.java

@@ -97,12 +97,17 @@ public class RelationTreeUtils {
 
         List<List<String>> branches = new ArrayList<>();
         for (Lemma lemma : leafNodeLemmas.keySet()) {
-            List<String> aBranch = new ArrayList<>();
+            List<Lemma> aBranch = new ArrayList<>();
             while (lemma != null) {
-                aBranch.add(lemma.getText());  // 只加入,文本
+                aBranch.add(lemma);
                 lemma = lemma.getParent();
             }
-            branches.addAll(permute(aBranch));  // 排列
+            aBranch.sort(Comparator.naturalOrder());  // 按位置排序
+            List<String> ordered_names = new ArrayList<>();
+            for (Lemma le: aBranch) {
+                ordered_names.add(le.getText());
+            }
+            branches.add(ordered_names);
         }
 
 

+ 6 - 1
algorithm/src/main/java/org/algorithm/core/cnn/entity/Lemma.java

@@ -10,7 +10,7 @@ import java.util.List;
  * @Date 2019/1/17/017 19:15
  * @Version 1.0
  **/
-public class Lemma {
+public class Lemma implements Comparable<Lemma> {
     private String text;
     private String position;
     private int len;
@@ -91,4 +91,9 @@ public class Lemma {
         }
         relationLemmas.add(l);
     }
+
+    @Override
+    public int compareTo(Lemma o) {
+        return this.getStartPosition() - o.getStartPosition();
+    }
 }