簡體   English   中英

如何計算ArrayList中的不同單詞?

[英]How to count diffrent words in a ArrayList?

判斷ArrayList中有多少個不同單詞的方法是什么?

例如:

public static ArrayList<String> myArray = new ArrayList<String>();
myArray.add("a");
myArray.add("b");
myArray.add("a");
myArray.add("c");

輸出將是

there is 3 different word in this array.

您可以由此創建Set<>對象,因為它僅包含唯一的對象。 因此,所有重復項將被消除。 集合的大小將是不同單詞的數量。

集可以創建像

Set<String> mySet = new HashSet<String>(myArray);
int differentWords = mySet.size(); 

嘗試這樣做。

有幾種方法可以完成此操作。 最簡單的方法是進行詳盡的搜索:

  • 對於列表中的每個位置i ,請在位置i講一個字
  • 對於每個大於i位置j ,比較位置i和位置j處的單詞
  • 如果兩個單詞相同,則將位置j處的單詞空白
  • 一旦完成了外部循環,請檢查還剩下多少個非null字符串。 那是那里唯一單詞的數量

一種更高級的方法是將所有字符串放入一組字符串中,然后對集合元素進行計數。 這可以在一行代碼中完成。 檢查文檔以獲取有關HashSe<T>的信息。

您還可以在添加新元素之前檢查重復項

if(!myArray.contains('a'))
       myArray.add('a');

一旦通過此鏈接。 如何計算List中某個元素的出現次數 這可能對您有用。

暫無
暫無

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

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