package com.pb.collection;

 import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
//by zengzhiwei
public class HashMapTest {
public static void main(String args[])
{
//定义一个HashMap(Map接口的实现类)来存放对象
Map<String,String> hasMap=new HashMap<String,String>();
//put("key","value"); 一个key对应一个value
hasMap.put("name", "zengzhiwei");
hasMap.put("age","20");
hasMap.put("sex", "boy");
System.out.println("hasMap.isEmpty:"+hasMap.isEmpty());//判断这个HashMap是否为空
System.out.println(""+hasMap.entrySet()); //entrySet,是[sex=boy, age=20, name=zengzhiwei]
System.out.println(""+hasMap.values());//返回value对象集;[boy, 20, zengzhiwei]
System.out.println(""+hasMap.keySet());//返回[sex, age, name]
//通过entryset来遍历
Iterator iterator=hasMap.entrySet().iterator();//set集才可以使用Iterator方法遍历
while(iterator.hasNext())//遍历的时候还有下一个参数
{
Object key=iterator.next();//定义一个对象来接受遍历的每一个对象
System.out.println(key.toString());//用String方式输出
}
//通过keySet来遍历
Iterator it1=hasMap.keySet().iterator();
while(it1.hasNext())
{
String key1=(String)it1.next();
System.out.println("has.get()方式:"+hasMap.get(key1)); }
//定义一个set集,指定参数类型是Entry<String,String>
Set<Entry<String,String>> sets=hasMap.entrySet();
for(Entry<String,String> res:sets)//另外一种遍历方式
{
System.out.println("res.getkey():"+res.getKey());
System.out.println("res.getValue():"+res.getValue());
}
//除了Iterator的方式,还可以用set的方式来遍历keySet遍历
Set<String> result=hasMap.keySet();
for(String result1:result){
System.out.println("hasMap.get():"+hasMap.get(result1));
}
} }

运行结果:

自己做的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. Codeforces Round #205 (Div. 2) : D

    思维题,感叹自己的智商不够啊. 思路大概是这样的: 1.排在队伍前面的女生是不用换位置的: 2.女生在队伍中的顺序是不会变的: 3.最后一个女生稳定了则程序结束: 4.每个女生都有个初始位置和最终位置 ...

  2. Origin null is not allowed by Access-Control-Allow-Origin

    http://www.cnblogs.com/accessking/archive/2012/05/12/2497000.html http://bbs.csdn.net/topics/3903099 ...

  3. Python、Lua和Ruby——脚本大P.K.

    转自Python.Lua和Ruby--脚本大P.K. Python versus Lua Versus Ruby Python.Lua和Ruby--脚本大P.K. Tom Gutschmidt 著 赖 ...

  4. Django Sqlite3 数据库向MySQL迁移

    整合了两个URL而来.. 1,http://www.phodal.com/blog/django-mezzanine-sqlite3-migrate-mysql/ 2,http://www.ziqia ...

  5. vim下如何删除某行之后的所有行

    使用dG进行删除 在命令模式下将光标置于要删除的起始行,然后依次输入d,G

  6. ViewHolder VS HolderView ?

    ViewHolder 模式在 Android 中大家应该都不陌生了,特别是在 ListView 中通过 ViewHolder 来减少 findViewById 的调用和 类型的转换. 而 Holder ...

  7. SSH自定义标签

     一.标签处理类:package cn.conris.sys.form; import java.io.IOException; import java.util.Enumeration; impor ...

  8. 【CF】304 E. Soldier and Traveling

    基础网络流,增加s和t,同时对于每个结点分裂为流入结点和流出结点.EK求最大流,判断最大流是否等于当前总人数. /* 304E */ #include <iostream> #includ ...

  9. bzoj2131

    首先不难想到对t排序,有f[i]=max(f[j])+v[i] tj<=ti且abs(pi-pj)/2<=ti-tj;要想优化,肯定从优化转移入手先去绝对值,当pi>=pj时,可得2 ...

  10. Node.js权威指南 (3) - Node.js基础知识

    3.1 Node.js中的控制台 / 19 3.1.1 console.log方法 / 19 3.1.2 console.error方法 / 20 3.1.3 console.dir方法 / 21 3 ...