好的,所以我正在使用一个代码来比较两个单独的数组列表,并返回重复的单词,例如,如果input1 =“ fun”,“ code”并且input2具有“ fun,java”。输出应该很有趣,但是我不确定如何准确地解决这个问题
我已经尝试过将forloop放在一起,但是它们似乎很不熟练,并且在比较数组列表时包含很多错误
Scanner UI = new Scanner(System.in);
ArrayList<String> input1 = new ArrayList<String>();
ArrayList<String> input2 = new ArrayList<String>();
ArrayList<String> result = new ArrayList<String>();
答案 0 :(得分:0)
这应该有效
Set<String> dupes = new HashSet<>();
search: for (String in : list1)
for (String in2 : list2)
if (in.equals(in2)) {
dupes.add(in);
continue search;
}
答案 1 :(得分:0)
您可以简单地使用connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "text/html; charset=utf-8");
来获取两个 list 的共同元素:
int statusCode = connection.getResponseCode();
输出:
retainAll
答案 2 :(得分:0)
如果仅需要两个arraylist中的公共元素,并且要执行using for loop
,则对input1
或input
的数组之一进行迭代
ArrayList<String> input1 = new ArrayList<String>();
ArrayList<String> input2 = new ArrayList<String>();
ArrayList<String> result = new ArrayList<String>();
添加input2
中包含的所有元素,或者您可以使用@Null
简单地遵循retainAll
方法
for(String str : input1){
if(input2.contains(str))){
result.add(str);
}
}
使用Java-8
List<String> result = input1.stream().filter(e->input2.contains(e))
.collect(Collectors.toList());