利用了Java8的新特性然后用collect(Collectors.joining())进行比较,虽然比较耗时,但是很好用是真的。
package list.demo;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
public class CheckDiffList implements Serializable {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
List<String> list1 = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
list.add("test" + i);
list1.add("test" + (i * 2));
}
System.out.println(checkDiffrent4(list, list1));
}
private static boolean checkDiffrent4(List<String> list, List<String> list1) {
long st = System.nanoTime();
System.out.println("消耗时间为: " + (System.nanoTime() - st));
return list.stream().sorted().collect(Collectors.joining())
.equals(list1.stream().sorted().collect(Collectors.joining()));
}
}