`
cjsmq
  • 浏览: 14277 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java set HashSet

阅读更多
java set接口 HashSet


HashSet底层是 HashMap实现的。其实HashSet中存放的值,就是HashMap中key值。
如果对HashMap实现不太明白可以参考上篇 java map hashmap博文。


   

public class HashSet<E>
    extends AbstractSet<E>
    implements Set<E>, Cloneable, java.io.Serializable
{
    static final long serialVersionUID = -5024744406713321676L;

    private transient HashMap<E,Object> map;

    // Dummy value to associate with an Object in the backing Map
    private static final Object PRESENT = new Object();

    /**
     * Constructs a new, empty set; the backing <tt>HashMap</tt> instance has
     * default initial capacity (16) and load factor (0.75).
     */
    //通过构造方法HashSet底层是HashMap实现的。
    public HashSet() {
	map = new HashMap<E,Object>();
    }

    //set add方法。
    public boolean add(E o) {
	return map.put(o, PRESENT)==null;
    }

    //set 遍历,其实就是Map的key
    public Iterator<E> iterator() {
	return map.keySet().iterator();
    }





分享到:
评论

相关推荐

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    java HashSet 集合排序

    java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。

    java集合-HashSet的使用

    HashSet 是 Java 中的一个集合类,它实现了 Set 接口并提供了基于哈希表的无序、不重复元素的集合。具体来说,它是通过哈希表(实际上是一个 HashMap 实例)来存储元素的。 以下是 HashSet 的一些主要特点: 无序...

    java集合知识-map、set等

    import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; public class HashSetTest { public static void main(String[] args) { HashSet hs = new LinkedHashSet(); hs....

    c++用vector实现HashSet

    c++一个用vector实现java的HashSet集合类,可以将任何类,数字,字符串,vector等等存放到里面

    HashSet详解和使用示例_动力节点Java学院整理

    HashSet 是一个没有重复元素的集合。 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。...如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步。

    Java HashSet

    Java HashSet Java 集合框架 ... HashSet 实现来 Set 接口。 HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。 基本类型对应的包装类表如下: 基本类型 引用类型 boolea

    Java中HashSet的解读

    一. HashSet源代码  HashSet 的实现  对于 HashSet 而言,它是基于 HashMap 实现的,HashSet ...  implements Set, Cloneable, java.io.Serializable {  // 使用 HashMap 的 key 保存 HashSet 中所有元素 

    set转成list集合再排序输出

    Java相关 public static void main(String[] args) { User u1=new User(1, "zhangsan"); User u2=new User(2, ... Set userset=new HashSet(); userset.add(u1); userset.add(u2); userset.add(u3);

    Java集合框架Set接口.pdf

    Java集合框架中的Set接口是一种不允许包含重复元素的集合。Set接口继承自Collection接口,因此它具有Collection接口定义的所有方法。同时,Set接口还具有自己的特殊方法,例如:添加元素、删除元素、判断元素是否...

    java中Set集合保证元素一致性原理.md

    HashSet集合保证元素一致性

    HashSet和TreeSet.doc

    Set是java中一个不包含重复元素的collection。更正式地说,set 不包含满足e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。 HashSet与TreeSet...

    金陵科技学院软件工程学院大二上Java高级1203Set.docx

    1203Set.doc 目的:学会使用 Set、 HashSet、 TreeSet 完成内容 1. 写一个 Set 集合,放入 5 个 HashSet 成员 用 iterator 显示出来,注意是否是顺序存放的,显示其

    Java—Set集合详解(HashSet/LinkedHashSet/TreeSet/EnumSet)

      Set集合类似于一个容器,程序把很多对象保存到Set集合中,Set集合对添加顺序不记录,当有重复的对象保存到Set集合时,不会新增后加的重复对象。 Set集合的特点 Set集合无重复元素,add()方法添加相同元素时,...

    JAVA SE 开发手册.CHM

    15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18、JAVA线程之基础介绍 19、I0流之基本简介 20、I0流之字符流、字节...

    java各种集合的详解Set,List,Vector

    java各种集合的详解Set,List,Vector,arrayList,linkList,HashSet

    HashSet和HashMap的区别_动力节点Java学院整理

    HashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有...

    Java 集合类(HashSet、ArrayList、LinkedList、HashMap).pptx

    掌握List集合、Set集合、Map集合的使用以及Iterator迭代器和foreach循环的使用 了解常用的集合类 熟悉泛型的使用

    Java数据结构--13.Java8数据结构TreeSet.pdf

    Java数据结构--13.Java8数据结构TreeSet 前⾔ ,上⼀篇中对 Set 接⼝最终实现类 HashSet 与 LinkedHashSet 做了介绍与分析,本篇将对另⼀种 Set 接⼝的最终实现类 TreeSet 进⾏ 介绍与分析。 先来看下 TreeSet 完整...

Global site tag (gtag.js) - Google Analytics