编程珠玑
如果发布内容不存在敏感词第一个字集合情况下,test2做出了很大优化,循环次数为发布内容个数。 但是如果发布内容村子敏感词,还是使用了test1方法,问题还存在。 怎样脱离test1方法?我们可以考虑把敏感词进一步分析,第二个字集合也进行规整、第三个字集合、第四个...。 这个让我想到了树形结构: 办 气 裸 土 证 枪 聊 表 枪 出 演 卖 售 每一层进行规整,但是不同的层可能出现相同的字,怎么区分他们? 我们进行从根到层的一个map拓展,这样可以区分不同的分支。 简单说,就是第二层有两个“枪”,但是第一个属于“气”父亲,第二个属于“土”父亲,我们根据“气枪”找到它下面的集合“出”,根据“土枪”找到集合“卖”。 package test; import static util.PrintUtil.print; import java.util.ArrayList; import java.util.HashMap; public class Test { static String[] keys = {"办证", "气枪出售", "裸聊", "裸表演", "土枪卖"}; static String tContent = "再办证顶"; static ArrayList<String> first = new ArrayList<String>(); static HashMap