[英]How to compare two ArrayList in java
我正在制作乐透程序。
我怎么知道一个ArrayList是否包含来自另一个ArrayList的所有数字?
我尝试的方式。
ArrayList<String> newNumbers = new ArrayList<>();//Define Lotto Scope
ArrayList<String> resultNumbers = new ArrayList<>(); //Only 6 numbers
ArrayList<String> includingNumbers= new ArrayList<>(); //Number to Include
public void applyStaticNumbers(){
for (int i = 1; i < 46; i++) {
newNumbers.add("" + i);
}
Collections.shuffle(newNumbers);
for (int i = 0; i < 6; i++) {
resultNumbers.add(newNumbers.get(i));
}
resultNumbers.sort(Comparator.comparing(Double::parseDouble)); //sort Numbers
if (resultNumbers.contains(includingNumbers.get(0))) {
for (int i = 0; i < 6; i++) {
textViews.get(i).setText(resultNumbers.get(i));
}
} else {//If not included, restart.
newNumbers.clear();
resultNumbers.clear();
applyStaticNumbers();
}
}
您可以使用containsAll
方法
includingNumbers.containsAll(resultNumbers)
您可以使用removeall方法
集合listOne = new ArrayList(Arrays.asList(“ x”,“ y”,“ z”,“ a”,“ b”,“ c”,“ d”))); 集合listTwo = new ArrayList(Arrays.asList(“ a”,“ b”,“ d”,“ e”,“ f”,“ x”,“ y”)));
List<String> sourceList = new ArrayList<String>(listOne);
List<String> destinationList = new ArrayList<String>(listTwo);
sourceList.removeAll( listTwo );
destinationList.removeAll( listOne );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.