`
hesihua
  • 浏览: 233721 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

hashmap 和hashset

    博客分类:
  • java
 
阅读更多

hashmap 和hashset不管是在面试还是在实际的代码编写中都还蛮经常见到了,但是直到现在我才对它进行了一个简单的应用,书上得来终觉浅,得知此事须躬行。先介绍hashmap,例子如下:

public class testHashMap {
 public static void main(String[] args) {
  testHash();
 }
 
 //public static String testHash(String remark){
 public static void testHash(){
  Map<String, String> replyMap=new HashMap<String, String>();
  
     replyMap.put("can","well,you know I havn't seen yet.\n"+"So can you describe more?\n");
     replyMap.put("speak","It is really a bad thing\n");
     replyMap.put("jim","I don't know, may be a week or longer.");
       
     Collection collValues=replyMap.values();
     Iterator   iter   =   collValues.iterator();   
     
     while(iter.hasNext()){
      System.out.println("value  "+iter.next());
     }
     
     Set skey=replyMap.keySet();
     
     Iterator iterKey=skey.iterator();
     
     while(iterKey.hasNext()){
      System.out.println("Key  "+iterKey.next());
     }

}

 

 

运行的结果如下:

 

value  I don't know, may be a week or longer.
value  well,you know I havn't seen yet.
So can you describe more?

value  It is really a bad thing

Key  jim
Key  can
Key  speak

 

分析:

在用hashmap存储数据时,是一个key值对应一个value。

当要取出key时,要用到Set

Set skey=replyMap.keySet();

 

当要取出value时,要用到Collection

Collection collValues=replyMap.values();

 

不管是取出key 还是value,当要把它们全部取出来时,需要用到迭代器,然后用Iterator的 hasnext()方法将数据一个一个的读出来。

 

 当hashmap中存入了相同key值的对象时,它采用覆盖的方式,最后一个相同key值的对象会存入map中

 

 

接着简单介绍下hashset

     String[] wordArray=inputLine.split(" ");
     
     HashSet<String> words=new HashSet<String>();
     
     for(String word:wordArray){
            words.add(word);
        }

 

简单介绍下hashset,在hashset中只有key值,没有value值

然后往hashSet中添加数据是使用add方法

分享到:
评论

相关推荐

    HashMap 和 HashSet的区别

    HashMap和HashSet是Java集合框架中的两种重要数据结构,它们各自有着独特的特性和用途。下面将详细探讨这两者之间的差异。 HashSet是基于Set接口的实现,它遵循Set接口的基本原则,即不允许存储重复的元素。当你...

    HashMap与HashTable和HashSet的区别

    ### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...

    通过 HashMap、HashSet 的源代码分析其 Hash 存储机制1

    在Java编程语言中,HashMap和HashSet是两种常用的集合类,它们都依赖于哈希存储机制来提供高效的数据存取性能。这两个类分别实现了Map接口和Set接口,虽然它们的用途不同,但它们底层的实现原理有很强的关联性。本文...

    深入arraylist,linkedlist,hashmap,hashset源码(2012/3/18)

    在Java编程语言中,ArrayList、LinkedList、HashMap和HashSet是四个非常重要的集合类,它们分别代表了不同类型的数据结构。这篇文章将深入探讨这些类的源码,以帮助我们更好地理解和运用它们。 首先,ArrayList是一...

    cpp-sparsemap一个高效hashmap和hashset的C实现

    本文将深入探讨一种名为cpp-sparsemap的实现,它是一个高效且轻量级的哈希映射(HashMap)和哈希集合(HashSet)的C++实现,主要由Tessil团队开发,并存储于Tessil-sparse-map-162cc7b版本的代码库中。 cpp-...

    java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较

    在Java编程中,HashMap、HashSet、TreeMap和TreeSet是四种常见的集合类,它们各自有特定的用途和内部实现机制。这些数据结构用于存储和管理数据,其中HashMap和HashSet是基于哈希表实现的,而TreeMap和TreeSet则是...

    HashMap底层实现原理HashMap与HashTable区别HashMap与HashSet区别.docx

    因此,HashSet的插入和查找速度与HashMap相当,但由于HashSet不需要存储值,所以它的空间效率略高于HashMap。 在使用HashMap时,需要注意的是,如果自定义的键类没有重写equals()和hashCode()方法,可能会导致哈希...

    Java HashMap类详解

    HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素的存储位置,这样可以保证能快速存、取集合元素;对于 HashMap 而言,系统 key-value 当成一个整体进行处理,系统总是...

    对java基础集合部分(List、HashMap、HashSet、ArrayList等)底层源码的分析与总结

    本文主要探讨了几个关键的集合接口和实现类的底层源码,包括List、HashMap、HashSet等,以及它们的基本操作。 首先,Collection接口是所有单值集合的父接口,提供了增加、删除、遍历元素的基本方法。例如,`add()`...

    Java中HashMap详解(通俗易懂).doc

    Java中的HashMap是一个非常重要的...总结起来,HashMap和HashSet是Java集合框架的重要组成部分,它们利用哈希技术提供了高效的数据存储和检索。了解并熟练掌握HashMap的工作原理对于优化Java应用程序的性能至关重要。

    java中HashMap详解.pdf

    在存储效率方面,HashMap和HashSet都非常高效,因为它们都利用了哈希表的特性,使得查找、插入和删除的时间复杂度在理想情况下接近O(1)。然而,当哈希冲突频繁发生时,性能可能会下降,因为需要遍历链表或红黑树来...

    单选和多选

    在Java编程中,我们可以利用集合框架如HashMap和HashSet来实现这样的逻辑。下面我们将深入探讨如何使用HashMap实现单选功能以及如何用HashSet实现多选功能。 首先,我们来看HashMap如何实现单选功能。HashMap是Java...

    treemap treeset hashset hashmap 简要介绍

    在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中`TreeMap`、`TreeSet`、`HashSet`以及`HashMap`是最常用的数据结构之一。这些集合类各自有着独特的特性和应用场景,下面将对它们进行详细介绍。...

    HashMap 概述 精讲 .md

    - **HashMap和HashSet的区别**:解释HashMap和HashSet之间的区别。 - **扩容机制**:HashMap是如何进行扩容的? - **长度限制**:解释为什么HashMap的长度通常是2的幂次方。 - **线程安全实现**:列举几种使HashMap...

    equals 和 hashCode两者效果分析详解.docx

    在Java编程语言中,`equals()`和`hashCode()`方法是两个非常重要的概念,尤其是在处理对象比较和容器(如HashMap和HashSet)操作时。这两个方法在Java的类库中有着核心地位,尤其是对于类实例的比较和存储。接下来,...

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Java集合专题总结:HashMap和HashTable源码学习和面试总结 本文总结了Java集合专题中的HashMap和HashTable,涵盖了它们的源码学习和面试总结。HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素...

    集合代码需要时下载,留作参考.7z

    本文将深入探讨标题“集合代码需要时下载,留作参考.7z”中提到的几种核心集合类:HashMap、HashSet、LinkedList、ArrayList、Stack以及Vector,并通过它们的描述来阐述各自的特点和应用场景。 首先,我们来看...

    集合底层原理总结

    - **Set接口**:同样继承自Collection接口,特点是元素无序且唯一,常见的实现类有HashSet和LinkedHashSet。 - **Map接口**:存储键值对的数据结构,键Key唯一,无序,常见的实现类有HashMap、TreeMap和...

    Java集合框架完整说明便于了解集合

    6. HashMap和HashSet的区别:HashMap关注键值对,HashSet关注元素的唯一性,两者都基于哈希表实现,但HashSet的元素是HashMap的键。 7. 多线程问题:HashMap在多线程环境下不安全,可能导致死循环,应使用...

Global site tag (gtag.js) - Google Analytics