簡體   English   中英

如何在Java中比較兩個ArrayList

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM