如何在java中比较两个Arraylist值?

lak*_*hmi 2 java arraylist

我有两个Arraylist RunningProcessList AllProcessList它包含以下值

 RunningProcessList:
    Receiver.jar



 AllProcessList:
    Receiver.jar
    Sender.jar
    Timeout.jar
    TimeourServer.jar
Run Code Online (Sandbox Code Playgroud)

AllProcessList arraylist包含所有java进程,RunningProcessList arraylist包含当前正在运行的进程.我想比较这两个arraylist,我想显示如果进程没有运行.例如比较两个列表并希望显示以下进程未运行.

 Result:
    Sender.jar
    Timeout.jar
    TimeourServer.jar
Run Code Online (Sandbox Code Playgroud)

我使用了以下代码,但它不起作用.

Object Result = null;
for (int i = 0; i <AllProcessList.size(); i++) {
   for (int j = 0; j < RunningProcessList.size(); j++) {
       if( AllProcessList.get(i) != ( RunningProcessList.get(j))) {
           System.out.println(  RunningProcessList.get(j)));
           Result =RunningProcessList.get(j);
       }
       if(AllProcessList.get(i) != ( RunningProcessList.get(j))) {
           list3.add(Result);
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

Noe*_*l M 15

看一下List的文档,特别是removeAll()方法.

List result = new ArrayList(AllProcessList);
result.removeAll(RunningProcessList);
Run Code Online (Sandbox Code Playgroud)

然后,您可以遍历该列表并System.out.println在您想要的时候调用,就像您上面所做的那样......但这是您想要做的吗?