package com.mvbox.utility;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author 007
* @date Apr 7, 2015 10:50:40 AM
* @version V1.0
* @Description: TODO(DFA 多叉树结构实现搜索算法)
*
*/
public class DFA {
/**
* 关键词词库
*/
private static String[] arr = null;
/**
* 根节点
*/
private Node rootNode = new Node('R');
private static DFA dfa;
private DFA() {
}
public static DFA getInstance() {
if (dfa == null) {
dfa = new DFA();
}
return dfa;
}
/**
* 定期更新敏感词汇
*
* @param newArr
*/
public void update(String[] newArr) {
arr = newArr;
createTree();
}
/**
* 检测是有存在关键字
*
* @param content
* @return
*/
public boolean hasWord(String content) {
synchronized (rootNode) {
List<String> word = new ArrayList<String>();
int a = 0;
char[] chars = content.toCharArray();
Node node = rootNode;
while (a <
多叉树结构实现搜索算法
最新推荐文章于 2025-03-27 13:09:00 发布