我想验证List<String>
中包含的每个元素是否包含在第二个列表的任何元素中。
示例:
[hotel, appartment]
[hotel, appart]
Analye:
hotel <> hotel -> OK (100% match)
appartment <> hotel -> NOK
appartment <> appart -> OK ("appartment" is not contained in "appart", but the other way around)
而<>
读取:两者中的任何一个都包含在另一个字符串中。
如何做到最好,特别是从表现的角度来看? 是否已经有处理这些案例的apache commons或guava函数?
答案 0 :(得分:0)
是你在寻找什么? 我没有运行这段代码,只是在记事本上写了......
for(int a=0;a<listA.size();a++){
for(int b=0;b<listB.size();b++){
if(listA.get(a).equals(listB.get(b))){
System.out.println(listA.get(a) + "<>" + listB.get(b) + " -> OK (100% match)");
}else{
//if not match, check if contained
if(listA.get(a).indexOf(listB.get(b))!=-1 || listB.get(b).indexOf(listA.get(a))!=-1){
System.out.println(listA.get(a) + "<>" + listB.get(b) + " -> OK ("appartment" is not contained in "appart", but the other way around)");
}else{
System.out.println(listA.get(a) + "<>" + listB.get(b) + " -> NOK ");
}
}
}//for list B
}//for list A