Java:即使在List对象中,Set不允许重复吗?

Sub*_*shi 0 java

我有一个以下问题我有两个列表,我在Set中添加了两个列表,但它不允许重复对象..是否设置检查对象内部的重复项?

public static void main(String[] args) 
  {


    Set<List<String>> set = new HashSet<>();

    List<String> list = new ArrayList<String>();
    list.add("Hariom");
    set.add(list);
    List<String> list1 = new ArrayList<String>();
    list1.add("Hariom");
    set.add(list1);

    System.out.println(set.size());   
  }
Run Code Online (Sandbox Code Playgroud)

印刷1

设置工作正常,它会检查重复甚至在对象内?

Era*_*ran 5

当您添加新元素到HashSet,hashCode并且equals该元素被用来确定是否相同的元素已经在Set.因此,如果两个列表相等,则只能将一个列表添加到HashSet中.

如果两个列表具有相同数量的元素并且在迭代这两个列表时,则认为两个列表相等.因此,你的两个名单是平等的.