【笔记】Java的LinkedHashSet和TreeSet

前言

Java的LinkedSet和TreeSet学习笔记

继承结构

graph TD
  Object --> AbstractCollection
  AbstractCollection --> AbstractSet
  AbstractSet --> HashSet
  HashSet --> LinkedHashSet

  AbstractSet --> TreeSet

  Iterable --> Collection
  Collection --> Set
  Set --> LinkedHashSet

  Set --> SortedSet
  SortedSet --> NavigableSet
  NavigableSet --> TreeSet


  style Object fill:#f0f8ff,stroke:#696969
  style AbstractCollection fill:#f0f8ff,stroke:#696969
  style AbstractSet fill:#f0f8ff,stroke:#696969
  style HashSet fill:#f0f8ff,stroke:#696969
  style LinkedHashSet fill:#f0f8ff,stroke:#696969

  style TreeSet fill:#f0f8ff,stroke:#696969

  style Iterable fill:#f0f8ff,stroke:#4169e1
  style Collection fill:#f0f8ff,stroke:#4169e1
  style Set fill:#f0f8ff,stroke:#4169e1

  style SortedSet fill:#f0f8ff,stroke:#4169e1
  style NavigableSet fill:#f0f8ff,stroke:#4169e1

LinkedHashSet

创建对象

  • 底层维护插入顺序
1
LinkedHashSet<Object> linkedSet = new LinkedHashSet<>();

Set的相关方法

传送门

集合遍历

传送门

TreeSet

创建对象

  • 底层维护排序顺序,默认正序排序
1
TreeSet<Object> treeSet = new TreeSet<>();

指定排序规则

1
2
3
TreeSet<Object> treeSet = new TreeSet<>((Object o1, Object o2) -> {
return o1.compareTo(o2);
});

Set的相关方法

传送门

集合遍历

传送门

完成