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

热点内容
android陀螺仪应用 浏览:719
新加坡加密货币骗局 浏览:910
电脑文件夹打开自动变为全屏 浏览:969
简易单断面计算法 浏览:850
php社区程序 浏览:976
python现在就业怎么样 浏览:304
php上传目录权限设置 浏览:736
php合同档案管理系统 浏览:366
tshock服务器地址 浏览:877
php解析文件流 浏览:780
服务器机箱铜片有什么用 浏览:969
乐视手机如何使用原生态安卓 浏览:215
dns服务器怎么备份啊 浏览:865
苹果退款app怎么重新购买 浏览:655
U盘cmd检查文件夹成文件 浏览:66
java路径是否存在 浏览:338
新氧app上怎么测脸型 浏览:787
用指令获得命令方块 浏览:427
流星蝴蝶剑怎么输入命令 浏览:681
keil有红叉但是能编译通过 浏览:498