java集合和错误列表混合问题
我试着划分两个数组我试着做的是一个列表包含一些横线,第二个列表包含一些其他字符串例如:列表1有qw,we,er,rt,ty和列表2有we,er当我把列表1从列表2中分开时,输出应该是--qw,rt,ty这是我的代码java集合和错误列表混合问题,java,collections,Java,Collections,我试着划分两个数组我试着做的是一个列表包含一些横线,第二个列表包含一些其他字符串例如:列表1有qw,we,er,rt,ty和列表2有we,er当我把列表1从列表2中分开时,输出应该是--qw,rt,ty这是我的代码 package Arraylist; import java.util.*; /** * * @author Charith */ public class arList { public static void main(String args[]) {
package Arraylist;
import java.util.*;
/**
*
* @author Charith
*/
public class arList {
public static void main(String args[]) {
String word[] = {
"Hello", "Funny", "Bunny", "Honey"
};
List < String > l1 = new ArrayList < String > ();
for (String s: word) {
l1.add(s);
}
String deleteWord[] = {
"Funny", "Bunny"
};
List < String > l2 = new ArrayList < String > ();
for (String r: deleteWord) {
l2.add(r);
}
for (int i = 0; i < l1.size(); i++) {
System.out.printf("%s ", l1.get(i));
}
editlist(l1, l2);
System.out.println();
for (int i = 0; i < l1.size(); i++) {
System.out.printf("%s ", l1.get(i));
}
* * public static void editlist(Collection < String > list1, Collection < String > list2) * * {
Iterator < String > it = list1.iterator();
while (it.hasNext()) {
if (list2.contains(it.next()))
it.remove();
}
}
}
}
包数组列表;
导入java.util.*;
/**
*
*@作者查理斯
*/
公共类arList{
公共静态void main(字符串参数[]){
字符串字[]={
“你好”,“有趣”,“兔子”,“亲爱的”
};
Listl1=newarraylist();
for(字符串s:word){
l1.添加(s);
}
字符串删除字[]={
“搞笑”,“兔子”
};
Listl2=newarraylist();
for(字符串r:deleteWord){
l2.添加(r);
}
对于(int i=0;ilist1,集合list2)**{
迭代器it=list1.Iterator();
while(it.hasNext()){
if(list2.contains(it.next()))
it.remove();
}
}
}
}
但是我在公共静态void editlist(Collection list1,Collection list2)一行中遇到了一个错误。有人能告诉我如何纠正这个错误吗?有人能解释一下java中的*Collection*s是什么吗?我用谷歌搜索它,但它确实让人困惑你可以用collectionUtil的removeAllAPI实现同样的效果
list1.removeAll(list2);
看看API。它将从列表1中删除列表2中存在的所有元素。因此,在集合论中,理想情况下,
A-B
您可以使用collectionUtil的removeAllAPI实现同样的效果
list1.removeAll(list2);
看看API。它将从列表1中删除列表2中存在的所有元素。因此,在集合论中,理想情况下是A-B,看看你的方法声明是从哪里来的。就在这之后:
for(int i =0;i<l1.size();i++){
System.out.printf("%s " ,l1.get(i));
}
for(int i=0;i查看您的方法声明的来源。它就在下面:
for(int i =0;i<l1.size();i++){
System.out.printf("%s " ,l1.get(i));
}
for(int i=0;ii)在将来,与其告诉我们错误在哪里,不如告诉我们错误是什么?此外,修复缩进以使您的问题更易于阅读……理想情况下,作为一种风格,使用Foo[]array
而不是Foo array[]
。两者都可以,但第一个在Java中更为惯用。此外,还有一个很好的函数Arrays.asList,让您轻松清晰地设置这些常量列表:List l2=Arrays.asList(“搞笑”、“兔子”);将来,与其告诉我们错误在哪里,不如告诉我们错误是什么?此外,修正缩进以使问题更易于阅读……理想情况下,作为一种风格,使用Foo[]array
而不是Foo array[]
。两者都可以,但第一个在Java中更为惯用。此外,还有一个很好的函数Arrays.asList,让您轻松清晰地设置这些常量列表:List l2=Arrays.asList(“搞笑”、“兔子”);谢谢你的帮助,关于collection类而不是GooglingTanks有什么好的解释吗?关于collection类而不是googling,有什么好的解释吗