Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串arraylist获取公共元素_Java - Fatal编程技术网

Java 如何从字符串arraylist获取公共元素

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"));

我有三个字符串列表,叫做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"));
  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+“
”;对于所有的情况,我也正在变得真实。但对我来说,这些共同点都列得很好。不知道你那边发生了什么