1. package com.pb.collection;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Iterator;
  5. import java.util.Map;
  6. import java.util.Map.Entry;
  7. import java.util.Set;
  8. //by zengzhiwei
  9. public class HashMapTest {
  10. public static void main(String args[])
  11. {
  12. //定义一个HashMap(Map接口的实现类)来存放对象
  13. Map<String,String> hasMap=new HashMap<String,String>();
  14. //put("key","value"); 一个key对应一个value
  15. hasMap.put("name", "zengzhiwei");
  16. hasMap.put("age","20");
  17. hasMap.put("sex", "boy");
  18. System.out.println("hasMap.isEmpty:"+hasMap.isEmpty());//判断这个HashMap是否为空
  19. System.out.println(""+hasMap.entrySet()); //entrySet,是[sex=boy, age=20, name=zengzhiwei]
  20. System.out.println(""+hasMap.values());//返回value对象集;[boy, 20, zengzhiwei]
  21. System.out.println(""+hasMap.keySet());//返回[sex, age, name]
  22. //通过entryset来遍历
  23. Iterator iterator=hasMap.entrySet().iterator();//set集才可以使用Iterator方法遍历
  24. while(iterator.hasNext())//遍历的时候还有下一个参数
  25. {
  26. Object key=iterator.next();//定义一个对象来接受遍历的每一个对象
  27. System.out.println(key.toString());//用String方式输出
  28. }
  29. //通过keySet来遍历
  30. Iterator it1=hasMap.keySet().iterator();
  31. while(it1.hasNext())
  32. {
  33. String key1=(String)it1.next();
  34. System.out.println("has.get()方式:"+hasMap.get(key1));
  35.  
  36. }
  37. //定义一个set集,指定参数类型是Entry<String,String>
  38. Set<Entry<String,String>> sets=hasMap.entrySet();
  39. for(Entry<String,String> res:sets)//另外一种遍历方式
  40. {
  41. System.out.println("res.getkey():"+res.getKey());
  42. System.out.println("res.getValue():"+res.getValue());
  43. }
  44. //除了Iterator的方式,还可以用set的方式来遍历keySet遍历
  45. Set<String> result=hasMap.keySet();
  46. for(String result1:result){
  47. System.out.println("hasMap.get():"+hasMap.get(result1));
  48. }
  49. }
  50.  
  51. }

运行结果:

自己做的demo--关于HashMap的更多相关文章

  1. 【不做标题党,只做纯干货】HashMap在jdk1.7和1.8中的实现

     同步首发:http://www.yuanrengu.com/index.php/20181106.html Java集合类的源码是深入学习Java非常好的素材,源码里很多优雅的写法和思路,会让人叹为 ...

  2. Keras + LSTM 做回归demo

    学习神经网络 想拿lstm 做回归, 网上找demo 基本三种: sin拟合cos 那个, 比特币价格预测(我用相同的代码和数据没有跑成功, 我太菜了)和keras 的一个例子 我基于keras 那个 ...

  3. 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式,明天做个demo

    有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都可以使用. 在看之前你可以扫一扫下面几个二维码先看看效果: 1.二维码生成 网址 (URL) 包含网址的 二维码生成 是大家平时最常接触 ...

  4. 在外国网站上看到一个用artoolKit做的demo,学习了用gcd创建单列

    外国网站:http://www.raywenderlich.com/42266/augmented-reality-ios-tutorial-location-based 看了下里面的demo,源代码 ...

  5. Keras + LSTM 做回归demo 2

    接上回, 这次做了一个多元回归 这里贴一下代码 import numpy as np np.random.seed(1337) from sklearn.model_selection import ...

  6. Pandas.plot 做图 demo(scatter,bar,pie)

    #coding:utf-8import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimH ...

  7. 使用python + tornado 做项目demo演示模板

    很简单,可是却也折腾了不是时间,走了不少弯路.在此备注记录一下,以供后需. # web_server.py #!/usr/bin/env python # coding=utf-8 import os ...

  8. flex 布局 自己做的demo

    .row {/*横*/ display: -webkit-box;// display: -webkit-flex; /* Safari */ display: -moz-box; display: ...

  9. 面试连环炮系列(七):HashMap的put操作做了什么

    HashMap的put操作做了什么? HashMap的是由数组和链表构成的,JDK7之后加入了红黑树处理哈希冲突.put操作的步骤是这样的: 根据key值计算出哈希值作为数组下标.如果数组的这个位置是 ...

随机推荐

  1. Contest 高数题 樹的點分治 樹形DP

    高数题 HJA最近在刷高数题,他遇到了这样一道高数题.这道高数题里面有一棵N个点的树,树上每个点有点权,每条边有颜色.一条路径的权值是这条路径上所有点的点权和,一条合法的路径需要满足该路径上任意相邻的 ...

  2. 横向技术分析C#、C++和Java优劣

    转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...

  3. ‘char *' differs in levels of indirection from 'int'

    这个问题是有与和系统变量重名导致的,如 char* ans = (char*) malloc(10);系统变量是一个int.

  4. SpringMVC+Json构建基于Restful风格的应用(转)

    一.spring 版本:spring-framework-3.2.7.RELEASE 二.所需其它Jar包: 三.主要代码: web.xml <?xml version="1.0&qu ...

  5. HDU 5927 Auxiliary Set 【DFS+树】(2016CCPC东北地区大学生程序设计竞赛)

    Auxiliary Set Time Limit: 9000/4500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  6. MyEclipse中导入Spring 4.0源码

    http://www.cnblogs.com/shi-blog/p/4132183.html

  7. JDK 1.6.0和 6.0 有啥区别,JavaTM SE 6 的平台名字和版本号的说明(转)

    一直这么理解,今天才看到官方的解释,真是有点汗颜. 核心就是 6.0用于平台和产品的名字,而1.6.0用于开发者. 他们指的是同一个东西. 原文地址:http://java.sun.com/javas ...

  8. 通过eclipse的DDMS连接bluestacks找不到设备的解决方法

    在找不到设备的时候cmd输入命令 adb connect 127.0.0.1 ,DDMS中就会显示已连接的bluestacks了.

  9. UIView hitTest的原理

    [转自:http://blog.sina.com.cn/s/blog_59fb90df0101ab26.html] UIView 两个方法: - (UIView *)hitTest:(CGPoint) ...

  10. 解压华为P6 UPDATE.APP

    #!/usr/bin/env python # Version: 0.2.201308040830 # Author: linkscue # Function: unpack any hauwei h ...