JAVA集合,不重复

nen*_*ito 2 java collections

我想讨论一个关于java集合框架的问题。这是问题:

您需要将元素存储在保证不存储重复项的集合中。以下哪一个接口提供了该功能?

a.java.util.List

b.java.util.Collection

c.java.util.Map

d.以上都不是

很明显前两个选项是错误的,但哪一个是正确的 c. 或 d。为什么?就我个人而言,我的答案是d.以上都不是。

ani*_*udh 8

Map 当然不允许重复的键,但允许重复的值。所以我认为答案是d)。不允许任何重复的集合是Set。一个例子HashSet

import java.util.HashSet;

public class Main {
  public static void main(String[] args) {
    HashSet<String> set = new HashSet<String>();
    set.add("str1");
    set.add("str2");
    set.add("str3");
    set.add("str4");
    set.add("str1");
    System.out.println(set); // ["str1", "str2", "str3". "str4"] "str1" is added only once
  }
}
Run Code Online (Sandbox Code Playgroud)