我有两个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在您想要的时候调用,就像您上面所做的那样......但这是您想要做的吗?