Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java';s内置的集合类,用于从列表中计算唯一值_Java_List_Set - Fatal编程技术网

使用Java';s内置的集合类,用于从列表中计算唯一值

使用Java';s内置的集合类,用于从列表中计算唯一值,java,list,set,Java,List,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"); List List=new ArrayList(); 列表。添加(“M1”);列表。添加(“M1”); 列表。添加(“M2

给定一个可能包含重复项的列表(如下面的列表),我需要能够计算唯一元素的数量

List<String> list = new ArrayList<String>();
list.add("M1");list.add("M1");
list.add("M2");list.add("M2");
list.add("M3");list.add("M3");
List List=new ArrayList();
列表。添加(“M1”);列表。添加(“M1”);
列表。添加(“M2”);列表。添加(“M2”);
列表。添加(“M3”);列表。添加(“M3”);

我认为这可以通过使用Java的Set来实现。如何将列表项复制到集合中,以及如何从集合中获取计数?

我希望我正确理解了这个问题。听起来好像您正试图使用java的
Set
类来计算ArrayList中唯一条目的数量。如果是这样,您需要:

...
        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()); 
...
  • 创建一个集合(您必须使用一个具体的类,我将在示例中使用HashSet)
  • 遍历ArrayList,并将这些项(在本例中为字符串)放入集合中。(我将使用addAll方法)
  • 获取集合的大小
例如:

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());
List List=new ArrayList();
Set=newhashset();
列表。添加(“M1”);
列表。添加(“M1”);
列表。添加(“M2”);
列表。添加(“M3”);
set.addAll(列表);
System.out.println(set.size());

编辑:此解决方案(出于实际目的)与Alexey的解决方案相同。Alexey刚刚在我编写解决方案时发布了一些代码。

与您一起发布试图解决问题的代码,以及您遇到的具体问题。不要忘记列表构造函数上的括号和分号。我喜欢在这一问题被解决后问到的所谓重复的问题。。。而且是同一个人。编辑这个问题不是更容易吗PI标记为正确答案,但实际上有人更改了主题和内容的名称。
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());