導航:首頁 > 凈水問答 > java關鍵詞過濾高效

java關鍵詞過濾高效

發布時間:2021-11-20 16:37:38

㈠ java解決一個字元串數組過濾的問題,要求效率盡量快.

中文分詞應該屬於另外一個大范疇,我就沒考慮了。
僅僅是盡快濾出之前沒有的詞,

import java.util.Comparator;
import java.util.TreeSet;
public class Test {
static public int removeOccurances(StringBuilder buf,String word){
int c=0,p,len=word.length();
for(;(p=buf.indexOf(word))!=-1; c++)
buf.delete(p, p+len);
return c;
}
static public void main(String argv[]){
String a[]={"北京","中國朝陽","北京朝陽","天津包子","中國北京",
"北京烤鴨","中國中國","北京中國飯店","北京北京北京",
"北京朝陽飯店","北京朝陽烤鴨飯店","中國北京朝陽飯店"
};
TreeSet<String> set=new TreeSet<String>(new Comparator<String>(){
@Override
public int compare(String o1, String o2) {
int r=o1.length()-o2.length();
return r==0? o1.compareTo(o2):r;
}
});
StringBuilder buf=new StringBuilder();
for(String w:a){
buf.setLength(0); buf.append(w);
for(String dw:set) removeOccurances(buf, dw);
if(buf.length()>0){
w=buf.toString();
for(String dw:set)
if(buf.length()<dw.length()){
buf.setLength(0); buf.append(dw);
if(removeOccurances(buf, w)>0){
set.remove(dw); set.add(buf.toString());
}
}
set.add(w);
}
}
System.out.print(set);
}
}
===========
[中國, 北京, 朝陽, 烤鴨, 飯店, 天津包子]

效率應該是O(2W*D), W為數組長度,D為有效詞數量
把你的演算法拿來看看。應該多說自己

㈡ 在JAVA中怎麼實現關鍵字過濾

自己判斷一下, 字元串中是否包含某個關鍵字即可, String.contains(CharSequence s) 如果存在返回true, 否則返回false

㈢ JAVA,過濾輸入的詞語,把無關詞語過濾掉

packagetest;

publicclassMyTest
{
publicstaticvoidmain(String[]args)
{
答Stringinput="Iwant200balls";
Stringreg="\d";
System.out.println(input.replaceAll(reg,""));
}
}

㈣ java全部關鍵字及其每個用法解釋

Abstract 抽象的
一個Java語言中的關鍵字,用在類的聲明中來指明一個類是不能被實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現,但是需要在子類中被實現
break
一個Java的關鍵字,用來改變程序執行流程,立刻從當前語句的下一句開始執行從。如果後面跟有一個標簽,則從標簽對應的地方開始執行
case

Java語言的關鍵字,用來定義一組分支選擇,如果某個值和switch中給出的值一樣,就會從該分支開始執行。
catch
Java的一個關鍵字,用來聲明當try語句塊中發生運行時錯誤或非運行時異常時運行的一個塊。
char
Java語言的一個關鍵字,用來定義一個字元類型

continue
一個Java的關鍵字,用來打斷當前循環過程,從當前循環的最後重新開始執行,如果後面跟有一個標簽,則從標簽對應的地方開始執行。
do
一個Java語言的關鍵字,用來聲明一個循環,這個循環的結束條件可以通過while關鍵字設置
double
一個Java語言的關鍵字,用來定義一個double類型的變數
else
一個Java語言的關鍵字,如果if語句的條件不滿足就會執行該語句。
final
一個Java語言的關鍵字。你只能定義一個實體一次,以後不能改變它或繼承它。更嚴格的講:一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變數不能改變其初始值。
finally
一個Java語言的關鍵字,用來執行一段代碼不管在前面定義的try語句中是否有異常或運行時錯誤發生。
float
一個Java語言的關鍵字,用來定義一個浮點數變數
for
一個Java語言的關鍵字,用來聲明一個循環。程序員可以指定要循環的語句,推出條件和初始化變數。
if
Java編程語言的一個關鍵字,用來生成一個條件測試,如果條件為真,就執行if下的語句。
implements
Java(TM)編程語言的一個關鍵字,在類的聲明中是可選的,用來指明當前類實現的介面。
import
Java(TM)編程語言的一個關鍵字,在源文件的開始部分指明後面將要引用的一個類或整個包,這樣就不必在使用的時候加上包的名字。
instanceof
一個二操作數的Java(TM)語言關鍵字,用來測試第一個參數的運行時類型是否和第二個參數兼容。
int
Java(TM)的一個關鍵字,用來定義一個整形變數
Java(TM)的一個關鍵字,用來定義一系列的方法和常量。它可以被類實現,通過implements關鍵字。
long

Java語言的一個關鍵字,用來定義一個long類型的變數。
private
Java語言的一個關鍵字,用在方法或變數的聲中。它表示這個方法或變數只能被這個類的其它元素所訪問。
protected
Java語言的一個關鍵字,在方法和變數的聲明中使用,它表示這個方法或變數只能被同一個類中的,子類中的或者同一個包中的類中的元素所訪問。
public
Java語言的一個關鍵字,在方法和變數的聲明中使用,它表示這個方法或變數能夠被其它類中的元素訪問。
return
Java語言的一個關鍵字,用來結束一個方法的執行。它後面可以跟一個方法聲明中要求的值。
short
Java語言的關鍵字,用來定義一個short類型的變數。
static
Java語言的關鍵字,用來定義一個變數為類變數。類只維護一個類變數的拷貝,不管該類當前有多少個實例。"static" 同樣能夠用來定義一個方法為類方法。類方法通過類名調用而不是特定的實例,並且只能操作類變數。

this
Java語言的關鍵字,用來代表它出現的類的一個實例。this可以用來訪問類變數和類方法。
throw
Java語言的關鍵字,允許用戶拋出一個exception對象或者任何實現throwable的對象
throws
Java語言的關鍵字,用在方法的聲明中來說明哪些異常這個方法是不處理的,而是提交到程序的更高一層。

transient
Java語言的關鍵字,用來表示一個域不是該對象串列化的一部分。當一個對象被串列化的時候,transient型變數的值不包括在串列化的表示中,然而非transient型的變數是被包括進去的。
try
Java語言的關鍵字,用來定義一個可能拋出異常語句塊。如果一個異常被拋出,一個可選的catch語句塊會處理try語句塊中拋出的異常。同時,一個finally語句塊會被執行,無論一個異常是否被拋出。

void
Java語言的關鍵字,用在Java語言的方法聲明中說明這個方法沒有任何返回值。"void"也可以用來表示一句沒有任何功能的語句。
volatile
Java語言的關鍵字,用在變數的聲明中表示這個變數是被同時運行的幾個線程非同步修改的。

while
Java語言的一個關鍵字,用來定義一段反復執行的循環語句。循環的退出條件是while語句的一部分。

關於break和continue。

continue語句與break語句相關,但較少用到。continue語句用於使其所在的for、while或do-while語句開始下一次循環。在while與do-while語句中,continue語句的執行意味著立即執行測試部分;在for循環語句中,continue語句的執行則意味著使控制傳遞到增量部分。

㈤ Java中對string字元的過濾

什麼方框可以截圖嗎?嘗試用ascii碼來替換

㈥ JAVA中如何過濾字元串裡面特殊字元

class test
{

public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}

㈦ java 字元串過濾

packagetest;
importjava.util.HashMap;
/**
*maxLength-需要過濾最長字元串的長度
*filterStrs<string,string>-需要過濾字元串的集合,key為需要過濾字元串,value為過濾成的字元串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要過濾掉*的數量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得剩下未過濾的字元串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得過濾後的字元串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被過濾的字元串
*過濾,並組合過濾後的字元串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}

㈧ 求高效率的 java+mysql 關鍵字過濾代碼

你金幣都不獎,叫別人出力,可能嗎?我也想要啊。。。

閱讀全文

與java關鍵詞過濾高效相關的資料

熱點內容
火腿加工廠熬肉廢水如何處理 瀏覽:777
大虎山鎮污水處理廠 瀏覽:684
蒸餾酒純喝 瀏覽:753
耐海水乙烯基酯樹脂 瀏覽:218
偉星前置凈水器哪個品牌好 瀏覽:745
豐田電瓶蒸餾水 瀏覽:797
丙烯酸廢水如何檢測 瀏覽:423
朗行汽車空調濾芯怎麼換 瀏覽:875
寶馬118i空氣濾芯在什麼位置 瀏覽:698
多倫伊利污水處理 瀏覽:842
凈水器ustoac是什麼意思 瀏覽:957
環氧樹脂玻璃鋼一布三塗 瀏覽:535
豆製品水處理設備 瀏覽:879
電熱水壺容易產生水垢 瀏覽:174
樹脂分離塔顯示界面低 瀏覽:78
眉縣污水管網工程項目 瀏覽:841
飲水機進入中國多少年了 瀏覽:145
工業廢水水質如何 瀏覽:50
環氧樹脂怎麼消光 瀏覽:437
超純水用氮氣有什麼作用 瀏覽:463