一、使用HashSet添加一个String类型的值:

public static void hashSet1(){
  HashSet<String> hashSet = new HashSet<String>();
  hashSet.add("java001");
  hashSet.add("java01");
  hashSet.add("java011");
  hashSet.add("java002");
  hashSet.add("java004");   //使用常用迭代器获取输出内容
  Iterator<String> iterator = hashSet.iterator();
  while (iterator.hasNext()) {
    String next = iterator.next();
    System.out.println(next);
  }
}

二、使用HashSet添加一个对象:

public static void hashSet2(){
HashSet<Student> hashSet = new HashSet<Student>();
hashSet.add(new Student("zhangsan1", 21));
hashSet.add(new Student("zhangsan1", 21));
hashSet.add(new Student("zhangsan2", 21));
hashSet.add(new Student("zhangsan3", 23));
hashSet.add(new Student("zhangsan4", 24));
//使用常用迭代器获取值
Iterator<Student> iterator = hashSet.iterator();
while (iterator.hasNext()) {
Student next = (Student) iterator.next();
System.out.println(next.getName() + " " + next.getAge());
}
}

上面使用到的Student对象类:

class Student {
private String name;
private int age; public Student(String name, int age) {
this.name = name;
this.age = age;
} //复写hashCode方法
@Override
public int hashCode() { return 60;
} //复写equals方法
@Override
public boolean equals(Object arg0) {
if (!(arg0 instanceof Student)) {
return false;
}
Student studet = (Student) arg0;
return this.name.equals(studet.name) && this.age == studet.age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}

最后使用调用main方法得出结果:

java004
java002
java011
java001
java01
-------------------------
zhangsan1 21
zhangsan2 21
zhangsan3 23
zhangsan4 24

JAVA中Set集合--HashSet的使用的更多相关文章

  1. Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合于Collection基本上完全一样,它没有提供任何额外的方法. Se ...

  2. 菜鸟日记之 java中的集合框架

    java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...

  3. java中的集合操作类(未完待续)

    申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...

  4. Java中的集合概述

    Java中的集合类有两个重要的分支,分别是接口Collection(包括List,Set等)和接口Map. 由于HashSet的内部实现原理使用了HashMap,所以我们先来了解Map集合类. 1.H ...

  5. Java中的集合框架(上)

    Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...

  6. Java中Set集合是如何实现添加元素保证不重复的?

    Java中Set集合是如何实现添加元素保证不重复的? Set集合是一个无序的不可以重复的集合.今天来看一下为什么不可以重复. Set是一个接口,最常用的实现类就是HashSet,今天我们就拿HashS ...

  7. Java开发知识之Java中的集合Set接口以及子类应用

    ---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...

  8. JAVA中的集合容器操作类

    目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...

  9. Java中各种集合(字符串类)的线程安全性!!!

    Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...

随机推荐

  1. sqlalchemy 获取计数 count

    from sqlalchemy import func message_count = self.db.query(func.count(Message.uid)).filter(Message.ui ...

  2. 算法笔记_205:第五届蓝桥杯软件类决赛真题(C语言B组)

    目录 1 年龄巧合 2 出栈次序 3 信号匹配 4 生物芯片 5 Log大侠 6 殖民地   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄. ...

  3. C# chart控件基础使用

    基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...

  4. ssi框架搭建

    Struts2主要来源于webwork框架,与Struts1相比,在数据传递方面,Struts2提供了更加强大OGNL标签功能,使其能够通过在action中定义变量来直接与jsp页面中的数据进行相互传 ...

  5. http2.0 特性

    1.HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1. 查看http协议(chrome F12) 2.异步连接多路复用 HTTP2.0 把消息分解为独立帧,交 ...

  6. Java并发容器之阻塞队列BlockingQueue

    BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满:从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空. Bloc ...

  7. Android开发之使用Intent进行自定义类型数据传输

    一.引言 我相信一定有人想通过Intent传送自定义类型的数据,但是苦于无法找到putExtra(String name,Object value)这个方法,最后都会妥协,采用字典或者全局变量来 解决 ...

  8. python之docstrinigs

    # -*- coding: cp936 -*- #python 27 #xiaodeng #docstrinigs #文档字符串惯例 ''' 1.多行字符串 2.首行以大写字母开始,以句号结束 3.第 ...

  9. Linux指令范例速查手册

    linux命令繁多,命令就是AK的子弹,对上口径,百发百中! 无意发现一本介绍Linux命令的手册--->[Linux指令范例速查手册] 下载: https://pan.baidu.com/s/ ...

  10. ftp相关常用命令

     工欲善其事必先利其器 00.FTP常用命令 01.SFTP命令 sftp  user@ip:/tmp