73 lines
2.2 KiB
Java
73 lines
2.2 KiB
Java
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<String> 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<String> 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<String> 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<String> 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]
|
||
}
|
||
}
|