簡體   English   中英

遍歷arraylists的arraylist

[英]Looping through arraylist of arraylists

我下面有這段代碼來計算ArrayList中字符串的頻率

public static int count (ArrayList<String> c, String str){

        int num = 0;

        num = Collections.frequency(c, str);        


        return num;


    }

我現在要做的就是對此進行改進,以便該函數接受ArrayList<ArrayList<String>>並可以遍歷Arraylist的集合並計算String的出現次數。 任何想法都很棒。

您需要使用兩個嵌套的for循環,用第一個循環遍歷每個列表,用第二個循環遍歷當前列表的每個元素,即:

int count = 0;
for (ArrayList<String> list : lists) {
    for (String string : list) { 
        if (list.equals("something")) count++;
    }
}

要計算頻率,您還需要計算所有列表中元素的總數,但我現在將其留給您,因為它現在應該很簡單。

杜德(Dude),您描述了該算法,它不會比這更簡單。 只是編寫東西。

請記住, Collections::frequency的名稱錯誤(IMHO),應將其count

在Java 8中使用

public void findOccurenceInLists(ArrayList<ArrayList<String>> lists, String myStr) throws Exception {
    int occurence = 0;
    lists.stream().forEach((list) -> {
        occurence += list.stream().filter((str) -> str.equals(myStr)).count();
    });
    System.out.println(occurence + " occurence found");
}

暫無
暫無

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

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