91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23KB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: Java
  • 標簽: DFA算法??

資源簡介

高效敏感詞過濾JAVA實現(DFA算法) 5000字2ms 節點 + 2進制標識(節省空間/提高查詢效率) 附源碼、注釋,附帶專業敏感詞庫(3396個敏感詞) 看得上就拿去用,替換下一兩處util方法、改個路徑即可 不求什么,用得好的話,記得有那么一個人提供就夠了。 如遇問題,歡迎交流。 QQ 463550192 普通PC測試結果: 2015-5-1 加載時間 : 41542826ns 加載時間 : 41ms 解析字數 : 5000 解析時間 : 2295131ns 解析時間 : 2ms

資源截圖

代碼片段和文件信息

package?com.towell.carman.common.sensitive;

/**
?*?功不唐捐
?*?@author?龐健松?~?2014年11月6日?下午6:13:37
?*/
public?class?FilterSet{

private?final?long[]?elements;


public?FilterSet()?{
?elements?=?new?long[1?+?(65535?>>>?6)];
}

public?void?add(final?int?no)?{
elements[no?>>>?6]?|=?(1L?< }

public?void?add(final?int...?no)?{
for(int?currNo?:?no)
elements[currNo?>>>?6]?|=?(1L?< }

public?void?remove(final?int?no)?{
elements[no?>>>?6]?&=?~(1L?< }

/**
?*?
?*?@param?no
?*?@return?true:添加成功 false:原已包含
?*/
public?boolean?addAndNotify(final?int?no)?{
int?eWordNum?=?no?>>>?6;
long?oldElements?=?elements[eWordNum];
elements[eWordNum]?|=?(1L?< boolean?result?=?elements[eWordNum]?!=?oldElements;
// if?(result)
// size++;
return?result;
}

/**
?*?
?*?@param?no
?*?@return?true:移除成功 false:原本就不包含
?*/
public?boolean?removeAndNotify(final?int?no)?{
int?eWordNum?=?no?>>>?6;
long?oldElements?=?elements[eWordNum];
elements[eWordNum]?&=?~(1L?< boolean?result?=?elements[eWordNum]?!=?oldElements;
// if?(result)
// size--;
return?result;
}

public?boolean?contains(final?int?no)?{
????????return?(elements[no?>>>?6]?&?(1L?<????}

public?boolean?containsAll(final?int...?no)?{
if(no.length==0)
return?true;
for(int?currNo?:?no)
if((elements[currNo?>>>?6]?&?(1L?< return?false;
return?true;
}

/**
?*?不如直接循環調用contains
?*?@param?no
?*?@return
?*/
public?boolean?containsAll_ueslessWay(final?int...?no)?{
long[]?elements?=?new?long[this.elements.length];
for(int?currNo?:?no){
elements[currNo?>>>?6]?|=?(1L?< }//這一步執行完跟循環調用contains差不多了

for?(int?i?=?0;?i? if?((elements[i]?&?~this.elements[i])?!=?0)
return?false;
return?true;
}

/**
?*?目前沒有去維護size,每次都是去計算size
?*?@return
?*/
public?int?size()?{
int?size?=?0;
for?(long?element?:?elements)
size?+=?Long.bitCount(element);
return?size;
}

public?static?void?main(String[]?args)?{
FilterSet?oi?=?new?FilterSet();
System.out.println(oi.elements.length);
}

}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????539??2015-05-01?21:44??readme.txt
?????目錄???????????0??2015-05-01?20:59??sensitive\
?????文件????????2420??2015-04-30?20:05??sensitive\FilterSet.java
?????文件???????16562??2015-05-01?21:06??sensitive\WordFilter.java
?????文件????????1628??2015-05-01?19:27??sensitive\WordNode.java
?????文件???????41791??2015-05-28?21:19??word.txt

評論

共有 條評論