第六章 集合(三)

本文介绍了Java中的Set接口,包括HashSet和TreeSet的特性。HashSet基于散列存储元素,保证无重复且无序。TreeSet则能自动排序。此外,文章通过一个模拟用户注册的案例,详细阐述了如何利用HashSet实现用户信息存储和重复性检查,强调了重写hashCode()和equals()方法的重要性。
摘要由CSDN通过智能技术生成

 6.4 Set接口

6.4.1 Set接口简介

Set接口主要有两个实现类,分别是HashSet和TreeSet。其中HashSet是根据对象的散列值来自确定元素在集合中的存储位置,具有良好的存取和查找性能。HashSet是以二叉树的方式来存储元素,它可以实现对集合中的元素进行排序。

6.4.2 HashSet集合

HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的。

import java.util.*;
public class Example07{
   public static void main(string[] args){
      Hashset set=new Hashset();//创建HashSet集合
      set.add("张三");
      set.add("李四");
      set.add("王五");
      set.add("李四");//向该Set集合中添加重复元素
      Iterator it=set.itereatoy();//获取Iterator对象
      while(it.hasNext()){//通过while循环,判断集合中是否有元素
       Object obj=it.next();//如果有元素,就通过迭代器的next()方法获取元素
           System.out.printLn(obj);
       }
   }
}
 

运行结果→

李四

张三

王五

当向集合中存入元素时,为保证HashSet正常工作,要求在存入对象时,重写Object类中的hashCode()和equals()方法。

案例学习 6-8

java.util.*;
class Student{
     String id;
     String name;
     public Student(string id,string name){//创建构造方法
          this.id=id;
          this.name=name;
     }
     public string toString(){
          return id+":"+name;//重写toString()方法
     }
}
public class Example08{
     public static void main(String[] args){
          HashSet hs=new HashSet();//创建HashSet集合
          Student stu1=new Student("1","张三");//创建Student对象
          Student stu2 new Student("2","李四");
          Student stu3=new Student("2","李四");
          hs.add(stul);
          hs.add(stu2);
          hs.add(stu3);
          System.out.println(hs);
     }
}

 运行结果→

[2:李四,2:李四,1:张三]

 6.4.3 TreeSet

 案例学习6—11

import java.util.Treeset;
public class Example11{
   public static void main(String[] args){
      TreeSet ts=new TreeSet();
      ts.add(3);
      ts.add(1);
      ts.add(1);
      ts.add(2);
      ts.add(3);
      System.out.println(ts);
   }
}

 运行结果→

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值