java集合和错误列表混合问题

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[]) {

我试着划分两个数组我试着做的是一个列表包含一些横线,第二个列表包含一些其他字符串例如:列表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[]) {
        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,有什么好的解释吗