给定一个可能包含重复项的列表(如下所示),我需要能够计算唯一元素的数量。
List<String> list = new ArrayList<String>();
list.add("M1");list.add("M1");
list.add("M2");list.add("M2");
list.add("M3");list.add("M3");
我认为可以通过使用 Java 的 Set 来完成。如何将列表项复制到集合中,以及如何从集合中获取计数?
...
List<String> list = new ArrayList<String>();
list.add("M1");list.add("M1");
list.add("M2");list.add("M2");
list.add("M3");list.add("M3");
HashSet hashSet = new HashSet();
hashSet.addAll(list);
System.out.println(hashSet.size());
...
它给 -
3
我希望我能正确理解这个问题。听起来您正在尝试使用 java 的Set
类来计算 ArrayList 中唯一条目的数量。如果是这样,您需要:
例子:
List<String> list = new ArrayList<String>();
Set<String> set = new HashSet<String>();
list.add("M1");
list.add("M1");
list.add("M2");
list.add("M3");
set.addAll(list);
System.out.println(set.size());
编辑:此解决方案(出于实际目的)与 Alexey 的解决方案相同。Alexey 刚刚在我编写解决方案时发布。