如何计算ArrayList中的不同单词?

时间:2014-10-21 01:13:45

标签: java 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.

4 个答案:

答案 0 :(得分:2)

您可以从中创建Set<>对象,因为它只包含唯一对象。所有的共和党人都将被淘汰出局。而Set的大小将是不同单词的数量。

设置可以像

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

尝试这样做。

答案 1 :(得分:2)

有几种方法可以实现这一目标。最简单的是进行详尽的搜索:

  • 对于列表中的每个位置i,请在位置i
  • 处单词
  • 对于大于j的每个位置i,比较位置i和位置j
  • 的字词
  • 如果两个单词相同,请在j
  • 位置删掉该单词
  • 完成外循环后,请检查剩余的非null字符串数。那是
  • 中唯一单词的数量

更高级的方法是将所有字符串放入一组字符串中,然后计算set元素的数量。这可以在一行代码中完成。请查看文档以获取有关HashSe<T>

的信息

答案 2 :(得分:1)

您还可以在添加新元素之前检查重复项

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

答案 3 :(得分:0)

一旦通过此链接。 How to count the number of occurrences of an element in a List。 它可能对你有用。