java中的Hashset和treeset

java中的hashset继承于AbstractSet
这个类实现了Set集合,实际为一个HashMap的实例。对集合的迭代次序没有任何保证; 特别是,它不能保证订单会随着时间的推移保持不变。这个类允许null 元素。
HashSet:HashSet是哈希表实现的。

public class hashs {
 public static void main(String[] args) {
 Set s=new HashSet();//按照哈希表存放地址
 s.add(1);//添加元素
 s.add("a");
 System.out.println(s);
 s.remove(1);//移除1
 System.out.println(s.contains(1));//判断s里面是否有a
 s.clear();//清空
 s.add("a");
 s.add("b");
 s.add("c");
 for(Object obj:s)
 {
  System.out.println(obj);
 }
 }
}

添加新元素
s.add()可以往set中添加一个新元素;
遍历:
遍历hashset用到了"Object obj:s",Object是所有类的父类,由于这里的s中的元素有字符串有Interage类,所以用Objectl来继承s中的元素是合理的。
同时也可以利用迭代器遍历it=Iterator iterator();
清空:
remove(Object s)
清空s中的所有元素
查询容器大小
Setsize(Object s);
返回s的元素个数
判断是否为空:
isEmpty(Object s)
如果此 set 不包含任何元素,则返回 true。
查询是否包含o元素
contains(Object s)
如果此 set 包含指定元素,则返回 true。
查询哈希地址
hashcode(Object s)
返回元素的哈希值。
TreeSet是一个有序的集合,它的作用是提供有序的Set集合。它继承了AbstractSet抽象类。
TreeSet:TreeSet是二叉树实现的,每添加一个元素会进行自动排序。
想要改变排序规则可以在定义类的时候定义一个接口;
通过实现comparable制定compare规则,例如:

public class student implements Comparable<student>
{

 int score;
 String name;
 @Override
 public int compareTo(student o) {
  // TODO 自动生成的方法存根
  if(o.score>this.score)
  return 1;
  else if(o.score<this.score)
   return -1;
  else
   return 0;
 }
 }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值