Java 如何从字符串arraylist获取公共元素
我有三个字符串列表,叫做Cname,cnamedb,Pname。这3个列表具有通过查询SQL数据库获得的结果。cname和Pname结果是通过查询excel数据库获得的。cnamedb结果来自查询SQL数据库 我像这样声明并存储到数组中Java 如何从字符串arraylist获取公共元素,java,Java,我有三个字符串列表,叫做Cname,cnamedb,Pname。这3个列表具有通过查询SQL数据库获得的结果。cname和Pname结果是通过查询excel数据库获得的。cnamedb结果来自查询SQL数据库 我像这样声明并存储到数组中 List Cname = new ArrayList(); List Pname =new ArrayList(); List cnamedb=new ArrayList(); Cname.add(rs.getString("Cname"));
List Cname = new ArrayList();
List Pname =new ArrayList();
List cnamedb=new ArrayList();
Cname.add(rs.getString("Cname"));
Pname.add(rs.getString("Pname"));
cnamedb.add(res.getString("Cname"));
我试过这样做
boolean hasCommonName = Cname.retainAll(Cnamedb);
if(hasCommonName){
out.println(Cname+"<br>");
out.println(hasCommonName);
}
boolean haspname=Pname.retainAll(Cnamedb);
if(haspname){
out.println(haspname);
}
boolean hascomname=Cname.retainal(Cnamedb);
if(hasCommonName){
out.println(Cname+“
”);
out.println(hasCommonName);
}
布尔haspname=Pname.retainal(Cnamedb);
if(haspname){
out.println(haspname);
}
这只是为第一个if语句提供了一个true,但没有打印列表元素。对于第二个if语句,我没有得到任何结果
我需要找出数据库和excel中存在的公共元素,首先我需要从Cname和Cnamedb获取公共元素,然后从Pname和Cnamedb获取公共元素。如何获取公共元素。请提供代码片段 下面给出的代码片段适合我
List<String> commonToCnameAndCnamedb = new ArrayList<String>(Cname);
List<String> commonToPnameAndCnamedb = new ArrayList<String>(Pname);
boolean hasCommonName = commonToCnameAndCnamedb.retainAll(cnamedb);
if (hasCommonName) {
System.out.println(commonToCnameAndCnamedb + "<br>");
System.out.println(hasCommonName);
}
boolean haspname = commonToPnameAndCnamedb.retainAll(cnamedb);
if (haspname) {
System.out.println(commonToPnameAndCnamedb + "<br>");
System.out.println(haspname);
}
List commontocname和cnamedb=newarraylist(Cname);
列出CommonTopName和CNAMEDB=新的ArrayList(Pname);
boolean hasCommonName=commonToCnameAndCnamedb.Retainal(cnamedb);
if(hasCommonName){
System.out.println(commonToCnameAndCnamedb+“
”;
System.out.println(hasCommonName);
}
布尔haspname=commontopname和cnamedb.retainal(cnamedb);
if(haspname){
System.out.println(commontopname和cnamedb+“
”;
System.out.println(haspname);
}
可能的重复同样,用SQL而不是java进行交集要容易得多。请检查我编辑的代码。即使使用retainAll,我也无法打印值。请学习java命名约定并遵守它们。这对两种if条件都是真的。但它并没有打印common elements System.out.println(commontopname和cnamedb+“”;对于所有的情况,我也正在变得真实。但对我来说,这些共同点都列得很好。不知道你那边发生了什么