HashSet 和TreeSet常用方法

HashSet

  1. add() 添加元素
  2. remove() 删除元素
  3. clear() 删除所有元素
  4. isEmpty() 是否为空
  5. size() 集合中的元素个数
  6. contains(Object o) 是否包含指定元素

TreeSet

以上方法TreeSet也适用

  1. ceiling(T t) 返回大于或等于给定元素的最小元素 没有返回null
  2. floor(T t) 返回小于或等于给定元素的最大元素 没有返回null
  3. lower(T t) 返回此集合中严格小于给定元素的最大元素 没有返回 null
  4. pollFirst() 删除并返回第一个元素
  5. pollLast() 删除并返回最后一个元素
  6. headSet(Object o,bollean boll); 截取头部份 boolean值 true包含 false不包含 给定值
  7. tailSet(Object o,bollean boll) 截取尾部分 和headSet类似
  8. 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");

结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值