mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix:避免调用方 显示调用API 触发查找树 优化;并通过内置锁,避免因并行树优化 可能造成的不可预知结果 和 无效重复的 树优化操作
This commit is contained in:
@@ -17,7 +17,7 @@ public class AutomatonTest extends TestCase {
|
||||
Automaton automaton = new Automaton();
|
||||
WordTree wordTree = new WordTree();
|
||||
automaton.insert("say", "her", "he", "she", "shr");
|
||||
automaton.buildAc();
|
||||
// automaton.buildAc();
|
||||
wordTree.addWords("say", "her", "he", "she", "shr");
|
||||
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
@@ -51,7 +51,7 @@ public class AutomatonTest extends TestCase {
|
||||
Automaton automaton = new Automaton();
|
||||
WordTree wordTree = new WordTree();
|
||||
automaton.insert("say", "her", "he", "she", "shr");
|
||||
automaton.buildAc();
|
||||
// automaton.buildAc();
|
||||
wordTree.addWords("say", "her", "he", "she", "shr");
|
||||
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
@@ -84,7 +84,7 @@ public class AutomatonTest extends TestCase {
|
||||
stopWatch.start("automaton_char_buid_find");
|
||||
Automaton automatonLocal = new Automaton();
|
||||
automatonLocal.insert("say", "her", "he", "she", "shr");
|
||||
automatonLocal.buildAc();
|
||||
// automatonLocal.buildAc();
|
||||
List<FoundWord> ans1 = automatonLocal.find(input);
|
||||
stopWatch.stop();
|
||||
assertEquals("she,he,her,say", ans1.stream().map(FoundWord::getWord).collect(Collectors.joining(",")));
|
||||
@@ -118,7 +118,7 @@ public class AutomatonTest extends TestCase {
|
||||
stopWatch.start("automaton_cn_build_find");
|
||||
Automaton automatonLocal = new Automaton();
|
||||
automatonLocal.insert("赵", "赵啊", "赵啊三");
|
||||
automatonLocal.buildAc();
|
||||
// automatonLocal.buildAc();
|
||||
|
||||
final List<FoundWord> result = automatonLocal.find(input);
|
||||
stopWatch.stop();
|
||||
@@ -156,7 +156,7 @@ public class AutomatonTest extends TestCase {
|
||||
|
||||
Automaton automatonLocal = new Automaton();
|
||||
automatonLocal.insert("赵", "赵啊", "赵啊三");
|
||||
automatonLocal.buildAc();
|
||||
// automatonLocal.buildAc();
|
||||
|
||||
stopWatch.start("automaton_cn_find");
|
||||
final List<FoundWord> result = automatonLocal.find(input);
|
||||
@@ -196,7 +196,7 @@ public class AutomatonTest extends TestCase {
|
||||
|
||||
Automaton automatonLocal = new Automaton();
|
||||
automatonLocal.insert("赵", "赵啊", "赵啊三");
|
||||
automatonLocal.buildAc();
|
||||
// automatonLocal.buildAc();
|
||||
|
||||
stopWatch.start("automaton_cn_find_not_density");
|
||||
final List<FoundWord> result = automatonLocal.find(input, false);
|
||||
|
Reference in New Issue
Block a user