Set接口

List接口是Collection的子接口

  • 特点:无序、无下标、元素不可重复。
  • 方法:全部继承自Collection中的方法。

1. 常用方法

可参考List常用方法

2. 使用

Set<String> set = new HashSet<>();
// 1.添加数据
set.add("tang");
set.add("he");
set.add("yu");
System.out.println("数据个数:" + set.size());
System.out.println(set.toString());// 无序输出

// 2.删除数据
/*
 * set.remove("tang"); System.out.println(set.toString());
 */

// 3.遍历【重点】
// 3.1 使用增强for
for (String string : set) {
  System.out.println(string);
}
// 3.2 使用迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
  System.out.println(iterator.next());
}

// 4.判断
System.out.println(set.contains("tang"));
System.out.println(set.isEmpty());

3. 实现类

  • HashSet

    • 底层:数组+链表[+红黑树(JDK1.8+)]
    • 基于HashCode计算元素存放位置。
    • 当存入元素的哈希码相同时,会调用equals进行确认,如结果为true,则拒绝后者存入。
  • TreeSet

    • 基于排序顺序实现不重复。
    • 实现了SortedSet接口,对集合元素自动排序。
    • 元素对象的类型必须实现Comparable接口,指定排序规则。
    • 通过CompareTo方法确定是否为重复元素。
Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2023-03-05 10:55:52

results matching ""

    No results matching ""