導航:首頁 > 編程語言 > java數據篩選

java數據篩選

發布時間:2023-11-26 19:59:00

Ⅰ List數據對比篩選,如何才能達到最佳效率

1、最簡單的就是用雙重循環進行比較,雖然簡單,但是如果兩個List的數據量都很大,那麼運行時間將成數量級增長。循環次數為1000*1000
2、把一個List通過循環放入Map中,把需要比較的欄位作為Map的Key,然後循環另外一個List,到Map裡面去匹配。
java代碼

for(A a : aList){
map.put(a.amount,a);
}

for(B b : bList){
A a = map.get(b.amount);
if(a==null){
//a==null則說明沒有同b匹配的項
}else{
//a!=null則說明匹配上了
}
}

Ⅱ 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數據篩選相關的資料

熱點內容
MFC經典游戲編程 瀏覽:781
在線申請小額貸款源碼 瀏覽:328
多個文件夾如何批量刪除內容 瀏覽:246
電力載波單片機 瀏覽:591
單片機串列通訊 瀏覽:515
遍歷兩個對應列表python 瀏覽:491
數控編程演示軟體哪裡下載 瀏覽:686
程序員會6點下班嗎 瀏覽:791
linuxdate時區 瀏覽:325
小說伺服器怎麼選 瀏覽:526
python自動化測試框架哪個最好 瀏覽:311
反編譯後為什麼不能回編 瀏覽:54
java反射獲得屬性值 瀏覽:39
程序員和甲方的矛盾 瀏覽:128
在地獄做程序員 瀏覽:765
銀行app能做什麼 瀏覽:238
追書緩存的小說在哪個文件夾 瀏覽:563
山科女生程序員 瀏覽:748
mybatis3源碼分析 瀏覽:467
華為交換機常用配置命令 瀏覽:378