HashSet
- add() 添加元素
- remove() 删除元素
- clear() 删除所有元素
- isEmpty() 是否为空
- size() 集合中的元素个数
- contains(Object o) 是否包含指定元素
TreeSet
以上方法TreeSet也适用
- ceiling(T t) 返回大于或等于给定元素的最小元素 没有返回null
- floor(T t) 返回小于或等于给定元素的最大元素 没有返回null
- lower(T t) 返回此集合中严格小于给定元素的最大元素 没有返回 null
- pollFirst() 删除并返回第一个元素
- pollLast() 删除并返回最后一个元素
- headSet(Object o,bollean boll); 截取头部份 boolean值 true包含 false不包含 给定值
- tailSet(Object o,bollean boll) 截取尾部分 和headSet类似
- subSet(Object o1,bollean boll1,Object o2,bollean boll2) 截取o1 o2之间的部分,后面跟的boolean值表示是否包含
实例
int val;
// 新建TreeSet
TreeSet treeSet = new TreeSet();
// 将元素添加到TreeSet中
treeSet.add(1);
// Set中不允许重复元素,所以只会保存一个“1”
treeSet.add(1);
treeSet.add(2);
treeSet.add(5);
treeSet.add(4);
treeSet.add(3);
System.out.println("TreeSet:" + treeSet);
// 打印TreeSet的实际大小
System.out.printf("size : %d\n", treeSet.size());
// 导航方法
// floor(小于、等于)
System.out.printf("floor 2: %d\n", treeSet.floor(2));
// lower(小于)
System.out.printf("lower 2: %d\n", treeSet.lower(2));
// ceiling(大于、等于)
System.out.printf("ceiling 2: %d\n", treeSet.ceiling(2));
System.out.printf("ceiling 5: %d\n", treeSet.ceiling(5));
// ceiling(大于)
System.out.printf("higher 2: %d\n", treeSet.higher(2));
// subSet()
System.out.printf("subSet(1, true, 3, true): %s\n", treeSet.subSet(1, true, 3, true));
System.out.printf("subSet(1, true, 3, false): %s\n", treeSet.subSet(1, true, 3, false));
System.out.printf("subSet(1, false, 3, true): %s\n", treeSet.subSet(1, false, 3, true));
System.out.printf("subSet(1, false, 3, false): %s\n", treeSet.subSet(1, false, 3, false));
// headSet()
System.out.printf("headSet(3, true): %s\n", treeSet.headSet(3, true));
System.out.printf("headSet(3, false): %s\n", treeSet.headSet(3, false));
// tailSet()
System.out.printf("tailSet(3, true): %s\n", treeSet.tailSet(3, true));
System.out.printf("tailSet(3, false): %s\n", treeSet.tailSet(3, false));
// 删除“3”
treeSet.remove(3);
// 将Set转换为数组
Integer[] array = (Integer[]) treeSet.toArray(new Integer[0]);
for (Integer str : array)
System.out.printf("for each : %d\n", str);
// 打印TreeSet
System.out.printf("TreeSet:%s\n", treeSet);
// 遍历TreeSet
for (Iterator iter = treeSet.iterator(); iter.hasNext();) {
System.out.printf("iter : %d\n", iter.next());
}
// 删除并返回第一个元素
val = (Integer) treeSet.pollFirst();
System.out.printf("pollFirst=%d, set=%s\n", val, treeSet);
// 删除并返回最后一个元素
val = (Integer) treeSet.pollLast();
System.out.printf("pollLast=%d, set=%s\n", val, treeSet);
// 清空HashSet
treeSet.clear();
// 输出HashSet是否为空
System.out.printf("%s\n", treeSet.isEmpty() ? "set is empty" : "set is not empty");
结果