你的位置:首页 > 软件开发 > Java > Java集合系列之HashSet源码分析

Java集合系列之HashSet源码分析

发布时间:2015-07-13 20:00:10
一、HashSet简介  HashSet是Set接口典型实现,它按照Hash算法来存储集合中的元素,具有很好的存取和查找性能。主要具有以下特点:不保证set的迭代顺序HashSet不是同步的,如果多个线程同时访问一个HashSet,要通过代码来保证其同步集合元素值可以是null  ...

Java集合系列之HashSet源码分析

一、HashSet简介

  HashSet是Set接口典型实现,它按照Hash算法来存储集合中的元素,具有很好的存取和查找性能。主要具有以下特点:

  • 不保证set的迭代顺序
  • HashSet不是同步的,如果多个线程同时访问一个HashSet,要通过代码来保证其同步
  • 集合元素值可以是null

  当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据该值确定对象在HashSet中的存储位置。在Hash集合中,不能同时存放两个相等的元素,而判断两个元素相等的标准是两个对象通过equals方法比较相等并且两个对象的HashCode方法返回值也相等。

  下面的例子说明了上述特性:

public class Person{  String name;  int age;    public Person(String name,int age)  {    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;  }  //当对象的名字和姓名相同即返回true  public boolean equals(Object obj)  {    if(obj==null)      return false;    if((this.name.equals(((Person)obj).name) && this.age==((Person)obj).age))        return true;    else      return false;  }  }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Java集合系列之HashSet源码分析

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。