Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
如何合并2个字符串数组,但在Java中保持重复?_Java_Arrays_String_Union - Fatal编程技术网

如何合并2个字符串数组,但在Java中保持重复?

如何合并2个字符串数组,但在Java中保持重复?,java,arrays,string,union,Java,Arrays,String,Union,(s2中的字符串元素可以复制,但s2中的每个元素必须属于s1,即s2不能包含s1中不存在的字符串。例如,s2不能包含“手持”,因为s1不包含“手持”) Set&HashSet不允许重复 我试着列出,但没用 您知道如何解决吗?列表实现应该可以正常工作。以下是使用ArrayList的代码: s2 union s1={"phone","phone", "smartphone","dumpphone"} 印刷品 for(String s : union){ System.out.println(s);

(s2中的字符串元素可以复制,但s2中的每个元素必须属于s1,即s2不能包含s1中不存在的字符串。例如,s2不能包含“手持”,因为s1不包含“手持”)

Set&HashSet不允许重复

我试着列出,但没用


您知道如何解决吗?

列表实现应该可以正常工作。以下是使用ArrayList的代码:

s2 union s1={"phone","phone", "smartphone","dumpphone"}
印刷品

for(String s : union){ System.out.println(s); }
注意:你说你只期待“电话”发生两次。为什么?从你的问题陈述中不清楚

编辑:

根据@dantuch在下面的评论,您可能正在寻找类似的东西:

phone
smartphone
dumpphone
phone
phone
smartphone

列表实现有什么问题?如果您根据您的逻辑有条件地将项目插入联合列表中,似乎没问题。我想让
s2
附加
s:s1
,这些项目不在
s2
中。这就是他期望的结果告诉我的:)@dantuch,我想你可能是对的——更新了我的答案
for(String s : union){ System.out.println(s); }
phone
smartphone
dumpphone
phone
phone
smartphone
String[] s1 = new String[]{"phone","smartphone","dumpphone"};
String[] s2 = new String[]{"phone","phone","smartphone"};

ArrayList<String> union = new ArrayList<>();
// Add elements of s2
for(String s : s2){ union.add(s); }
// Conditionally add elements of s1 (Only if they're not in s2)
for(String s : s1){ if(!union.contains(s)){ union.add(s); } }
phone
phone
smartphone
dumpphone