HashSet集合的特点:元素是具备唯一性的,每次存储都要先算出哈希值,看有没相同,没有相同的存储到相应的位置,如果相同则再判断存储进来的值是否与被比较的相同,如果相同,则不再存储,不同就存储

package com.java.b.customer.www;

public class Customer {
 private String name;
 private int age;
 
 public Customer() {
  super();
 }

public Customer(String name, int age) {
  super();
  this.name = name;
  this.age = 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;
 }

@Override
 public String toString() {
  return "Customer [name=" + name + ", age=" + age + "]";
 }

@Override
 public int hashCode() {
  final int prime = 31;
  int result = 1;
  result = prime * result + age;
  result = prime * result + ((name == null) ? 0 : name.hashCode());
  return result;
 }

@Override
 public boolean equals(Object obj) {
  if (this == obj)
   return true;
  if (obj == null)
   return false;
  if (getClass() != obj.getClass())
   return false;
  Customer other = (Customer) obj;
  if (age != other.age)
   return false;
  if (name == null) {
   if (other.name != null)
    return false;
  } else if (!name.equals(other.name))
   return false;
  return true;
 }

package com.java.c.set.www;

import java.util.HashSet;
import java.util.Iterator;

import com.java.b.customer.www.Customer;

public class HashSetDmeo {

public static void main(String[] args) {
  //创建一个hashSet容器
  HashSet set=new HashSet();
  //添加元素
  set.add(new Customer("小张1",25));
  set.add(new Customer("小李2",20));
  set.add(new Customer("小李4",29));
  set.add(new Customer("小火5",17));
  set.add(new Customer("小李2",20));
  for (Iterator it = set.iterator(); it.hasNext();) {
   System.out.println(it.next());  
  }
 }

}

Set集合中的HashSet集合的更多相关文章

  1. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  2. asp.net 如何改变GridView搜索出来关键字的颜色?就像百度似的,我获得的是一个集合,改变集合中关键字的集合

    输入“产量”查询,将“产量”拆分,产.量 string strColNameCnDt = string.Empty;            for (int j = 0; j < dtTemp. ...

  3. 【java集合系列】---HashSet

    在前面的博文中,小编主要简单介绍了java集合中的总体框架,以及list接口中典型的集合ArrayList和LinkedList,接着,我们来看set的部分集合,set集合和数学意义上的集合没有差别, ...

  4. 【集合】Java中的具体集合(一)

    Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...

  5. Java学习(set接口、HashSet集合)

    一.set接口 概念:set接口继承自Collection接口,与List接口不同的是,set接口所储存的元素是不重复的. 二.HashSet集合 概念:是set接口的实现类,由哈希表支持(实际上是一 ...

  6. Java set接口之HashSet集合原理讲解

    Set接口 java.util.set接口继承自Collection接口,它与Collection接口中的方法基本一致, 并没有对 Collection接口进行功能上的扩充,只是比collection ...

  7. 如何去除List集合中的重复元素?

    一.问题由来 在实际开发的时候,我们经常会碰到这么一个问题:一个集合容器里面有很多重复的对象,里面的对象没有主键,或者说忽略主键,根据业务的需求,我们需要根据条件筛选出没有重复的对象. 二.去重操作 ...

  8. 查询数据库中的表格---通过构造方法将数据存入到List集合中---遍历进行输出

    package cn.jy.demo; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Res ...

  9. 使用传统的方式遍历集合对集合中的数据进行过滤和使用Stream流的方式遍历集合对集合中的数据进行过滤

    使用传统的方式,遍历集合,对集合中的数据进行过滤 class Test{ public static void main(String[] args){ ArrayList<String> ...

随机推荐

  1. Axure RP 8.0 中继器初体验

    为了解决增删等复杂交互的问题,中继器是个不错的选择. 拖拽出一个默认的中继器 中继器的数据集感觉就像是数据库一样,在右边检视窗口中可以看到中继器的默认数据集,可以理解成一张二维表.默认有1列,现成的3 ...

  2. Hyperic Agent 安装配置报 - No token file found, waiting for Agent to initialize

    本人经过跟VMWare 支持的多方努力,问题终于得到解决,方案如下: * Stop the agent Windows service. * Make sure all the agent proce ...

  3. .Net设计模式_适配器模式

    引言: 有一次我看到一个朋友拿出一个三角型的东西,好奇的上去一看你,我勒个去,传说中的万能插口转接器(插口适配器). 一面是插入口,集合了我认识的所有插口的形状,也有国内没看见过的:另一个是跟插座接触 ...

  4. Theano FCN实现与训练经验与教训小结

    NaN 计算softmax loss时要用numeric robust 的计算方式. softmax与 loss可能要分开计算. 得到前者的计算方式可以是常规方法. 但计算后者时要注意无穷大和NaN的 ...

  5. php 链接access数据库

    php链接access数据库代码 <?php $odbc = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath ...

  6. Spring Aop实现方式总结

    前面两个文章介绍了Aop及其相关重要概念,下面主要用代码的方式介绍下实现Spring Aop的几种方式 1. 基于注解实现Spring Aop 业务类接口 package cn.test.busine ...

  7. get改造成post请求

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  8. 20169210《Linux内核原理与分析》第十二周作业

    Return-to-libc 攻击实验 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode.为了阻止这种类型的攻击,一些 ...

  9. Creating custom datatypes using the umbraco usercontrol wrapper

    本篇文章介绍的是基于UmbracoCMS技术搭建的网站所使用的相关技术. 1.      需求 Umbraco CMS的dataType中有richTexhEditor控件,但是它不是太完善,比如没有 ...

  10. 阿里云部署Docker(7)----将容器连接起来

    路遥知马力.日久见人心.恩. 该坚持的还是要坚持. 今天看到一个迅雷的师弟去了阿里,祝福他,哎,尽管老是被人家捧着叫大牛.我说不定通过不了人家的面试呢.哎,心有惭愧. 本文为本人原创,转载请表明来源: ...