package jTest; import java.util.HashSet; import java.util.NavigableSet; import java.util.SortedSet; import java.util.TreeSet; public class HashSetTest { public static void main(String[] args) { // 删除重复的元素 HashSet hashSet = new HashSet<>() { { add("a"); add("b"); add("c"); add("d"); add("e"); add("a"); } }; System.out.println(hashSet);// [a, b, c, d, e] hashSet.forEach(System.out::println); // TreeSet 会自动排序,即使是乱序也会自动排序 TreeSet treeSet = new TreeSet<>() { { add("a"); add("b"); add("d"); add("e"); add("c"); } }; System.out.println(treeSet);// [a, b, c, d, e] treeSet.forEach(System.out::println); // 排序Tree SortedSet sortedSet = new TreeSet<>() {{ add("a"); add("b"); add("d"); add("e"); add("c"); }}; System.out.println(sortedSet);// [a, b, c, d, e] sortedSet.forEach(System.out::println); NavigableSet navigableSet = new TreeSet<>() {{ add("a"); add("b"); add("d"); add("e"); add("c"); }}; System.out.println(navigableSet);// [a, b, c, d, e] // 大于a的元素,没用返回null System.out.println(navigableSet.higher("a"));// b // 小于a的元素,没用返回null System.out.println(navigableSet.lower("a"));// null // 小于等于b的元素,没有返回null System.out.println(navigableSet.floor("b"));// b // 大于等于 a 的元素,没用返回null System.out.println(navigableSet.ceiling("a"));// a // 删除第一个元素 navigableSet.pollFirst(); System.out.println(navigableSet);// [b, c, d, e] // 删除最后一个元素 navigableSet.pollLast(); System.out.println(navigableSet);// [b, c, d] } }