导航:首页 > 编程语言 > 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数据筛选相关的资料

热点内容
用什么手表能代替app 浏览:705
女程序员熬夜体检 浏览:715
解压故事校园恋爱又烦恼 浏览:555
冰箱压缩机放多久能启动 浏览:171
软件算法发明专利 浏览:987
旁氏算法 浏览:765
程序员那么可爱电视剧免费观看极速版 浏览:747
程序员那么可爱陆漓孩子保住了吗 浏览:564
如何获取服务器dns秒解 浏览:663
如何破解大黄蜂的加密文件 浏览:11
新概念英语第三册pdf 浏览:401
分项详细估算法步骤 浏览:436
ipad桌面文件夹放大 浏览:891
我的世界基岩版怎么进国际服务器 浏览:516
福州医院有没有解压舱 浏览:470
带pwm的51单片机 浏览:918
ace程序员指南源码 浏览:414
哪个app可以分36期还款 浏览:244
为什么安卓软件平台那么多 浏览:288
如果把服务器切断了怎么办 浏览:19