Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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合并为一个arraylist并将其传递给过程_Java_Arraylist - Fatal编程技术网

Java 如何将两个arraylist合并为一个arraylist并将其传递给过程

Java 如何将两个arraylist合并为一个arraylist并将其传递给过程,java,arraylist,Java,Arraylist,我需要您的帮助和助手将两个arraylist合并成一个新的arraylist,并将其传递给一个过程。一旦用户从类型A列表中选择了证书,它们将存储在: private List<String> selectedTypeACertificates = new ArrayList<String>(); private List<String> selectedTypeBCertificates = new ArrayList<String>(); 您

我需要您的帮助和助手将两个arraylist合并成一个新的arraylist,并将其传递给一个过程。一旦用户从类型A列表中选择了证书,它们将存储在:

private List<String> selectedTypeACertificates = new ArrayList<String>();
private List<String> selectedTypeBCertificates = new ArrayList<String>();

您可以将两个列表中的所有元素添加到新创建的列表中,然后使用
StringBuilder
构建字符串,以便将其传递给过程:

List<String> selectedCertificates = new ArrayList<String>();
selectedCertificates.addAll(selectedTypeACertificates);
selectedCertificates.addAll(selectedTypeBCertificates);

StringBuilder sb = new StringBuilder();
for (String cert : selectedCertificates)
{
    sb.append(cert);
    sb.append("','");
}

String certificatesString = sb.toString();
if(!certificatesString.isEmpty()) {
    certificatesString = "'" + certificatesString.substring(0, certificatesString.lastIndexOf(",")) + "'";
}
List selectedCertificates=new ArrayList();
selectedCertificates.addAll(selectedTypeACertificates);
selectedCertificates.addAll(selectedTypeBCertificates);
StringBuilder sb=新的StringBuilder();
用于(字符串证书:selectedCertificates)
{
某人附加(证书);
某人加上(“,”);
}
字符串CertificateString=sb.toString();
如果(!certificateString.isEmpty()){
CertificateString=“”+CertificateString.substring(0,CertificateString.lastIndexOf(“,”)+“”;
}

最后几行用于删除后面的逗号。当然,如果过程需要使用不同格式的字符串,您可能需要更改此设置。

我不知道任何真正简单的方法,而且我相信有一种方法,但是您可以使用
for
循环,只需在列表之间迭代并调用相应的索引。您是否询问如何连接两个列表,或者如何将列表传递给存储过程?我要问的是如何将两个arraylist附加到一个新的arraylist,并将新的arraylist传递给过程Hanks manouti。。。我需要的与您共享的代码类似。但是,这会将每个选定类型存储在单独的行中吗?@Learner30我稍微更改了代码。。。也许最好只在整个字符串周围添加单引号,而不是在每个元素周围添加单引号。字符串添加到表中的方式取决于存储过程执行的操作。
List<String> selectedCertificates = new ArrayList<String>();
selectedCertificates.addAll(selectedTypeACertificates);
selectedCertificates.addAll(selectedTypeBCertificates);

StringBuilder sb = new StringBuilder();
for (String cert : selectedCertificates)
{
    sb.append(cert);
    sb.append("','");
}

String certificatesString = sb.toString();
if(!certificatesString.isEmpty()) {
    certificatesString = "'" + certificatesString.substring(0, certificatesString.lastIndexOf(",")) + "'";
}