我正在寻找一种快速方法来查找作为一个特定元素的List元素的数量:
- List<String> list = new ArrayList<String>();
- list.add("apple");
- list.add("banana");
- list.add("apple");
- list.add("kiwi");
- // I'm looking for a method as List.amountOf(Object obj):
- list.amountOf("apple"); // should return 2
- list.amountOf("kiwi"); // should return 1
- list.amountOf("pear"); // should return 0
解决方法
您可以使用Collections.frequency:
- int amountOfApple = Collections.frequency(list,"apple");
使用Java 8,您还可以使用流来执行此操作:
- long amountOfApple = list.stream().filter(s -> "apple".equals(s)).count();