簡體   English   中英

比較兩個數組並檢查重復項和缺失值

[英]Compare two arrays and check for duplicates and missing values

我有一個字符串數組x,上面寫着:椅子,桌子,沙發

我還有第二個數組y,上面寫着:椅子,勺子,桌子,刀,沙發,毛巾

我想檢查是否x中的所有單詞都已使用,並且x中的單詞是否也沒有在y中使用兩次,例如:椅子,勺子,桌子,刀子,沙發,毛巾,椅子,冰箱在此示例中,椅子使用了兩次。

我的方法是使用大小為y的for循環,然后遍歷所有其他索引,因為x的值始終按該順序排列,並創建一個測試用例數組,但是我不知道如何檢查是否全部x的項目已使用,並檢查是否未使用兩次

for(int i = 0 ; i < y.length; i+=2){
    test[i] = x[i];
}

您可以使用地圖存儲結果。 例如:

    Map<String, Integer> counters = new HashMap<>();

    for(int i = 0; i < y.length; i++) {  // Why do you use i+=2?
        String sY = x[i];

        if (counters.contains(sY)) {
            counters.get(sY)++;
        } else {
            counters.put(sY, 1);
        }
    }

    for(Don't know the type... counter, counters) {
        if ( counter.value() > 1)
            throw new IllegalStateException("You used " + counter.key() + " " + counter.value() + " times. Thats too much" ); 
    }

請注意,此代碼永遠不會編譯,但我希望您有想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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