package com.biubiu.entity;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

public class HashMapTest {

public static void main(String[] args) {

// map 是一种接口 通过HashMap实现map集合类

// 键 值 键可以理解为内容的标题 值可以理解为内容

Map<String, DOG> map = new HashMap<String, DOG>();

DOG dog1 = new DOG("叮叮", 98, 100, "雄");

// 创建DOG对象

DOG dog2 = new DOG("啦啦", 95, 99, "雄");

DOG dog3 = new DOG("嘎嘎", 96, 95, "雄");

DOG dog4 = new DOG("哈哈", 97, 98, "雌");

// 将创建好的对象放入集合中

map.put(dog1.getName(), dog1);

map.put(dog2.getName(), dog2);

map.put(dog3.getName(), dog3);

map.put(dog4.getName(), dog4);

//如果重复的话会进行覆盖

//map.put(dog3.getName(),dog3)

System.out.println("第一种");

// 通过键来实现集合的读取

Set<String> key = map.keySet();

// 获取所有的键

for (String string : key) {// 循环

// 声明对象获取从集合中读取出来的内容

DOG dog = map.get(string);

System.out.println(dog.getName());// 输出名字

}

System.out.println("第二种");

// Entry理解为实体 实体的键值是string和DOG =集合获取到的实体值

Set<Entry<String, DOG>> set = map.entrySet();

for (Entry<String, DOG> entry : set)

{// 遍历

System.out.println(entry.getKey() + "   "      + entry.getValue().getSex());

}

System.out.println("第三种");

//Collection是list和set的父类 使用Collection尝试

Collection<DOG> Values=map.values();

//values指的是值   //获取迭代器

Iterator<DOG> iter=Values.iterator();

while (iter.hasNext()) {

//循环下一个如果有的话

DOG d=iter.next();//DOG接收到iter的文本内容

System.out.println(d.getName());//输出

}

}

}

三种读取HashMap的方式的更多相关文章

  1. 三种Singleton的实现方式

    来源:http://melin.iteye.com/blog/838258 三种Singleton的实现方式,一种是用大家熟悉的DCL,另外两种使用cas特性来实现. public class Laz ...

  2. Request三种获取数据的方式

    今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...

  3. Objective-C:三种文件导入的方式以及atomic和nonatomic的区别

    一.三种文件导入的方式比较:   类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义 ...

  4. 浅淡Webservice、WSDL三种服务访问的方式(附案例)

    Webservice Webservice是使应用程序以与平台和编程语言无关的方式进行相互通信技术. eg:站点提供访问的数据接口:新浪微博.淘宝. 官方解释:它是一种构建应用程序的普遍模型,可以在任 ...

  5. 三种root的修补方式

    三种root的修补方式 system/core/adb/abd.c adbd漏洞,请看abd.c的第917行/* then switch user and group to "shell&q ...

  6. 三种Tomcat集群方式的优缺点分析

    三种Tomcat集群方式的优缺点分析 2009-09-01 10:00 kit_lo kit_lo的博客 字号:T | T 本文对三种Tomcat集群方式的优缺点进行了分析.三种集群方式分别是:使用D ...

  7. python列表和字符串的三种逆序遍历方式

    python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print( ...

  8. Objective-C:三种文件导入的方式比较

    三种文件导入的方式比较:   类的前项声明@class.import.include:   1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义 ...

  9. Spring中三种配置Bean的方式

    Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...

随机推荐

  1. WPF通过代码动态的加载样式

    tabitem.SetResourceReference(TabItem.StyleProperty, "mainTabItemStyle"); tabitem.Content = ...

  2. 【转载】WAI-ARIA无障碍网页应用属性完全展示

    文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=2 ...

  3. 九大排序算法Demo

    1. 冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换, ...

  4. 最火的Android开源项目(一)

    摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20 ...

  5. 新型勒索软件Magniber正瞄准韩国、亚太地区开展攻击

    近期,有国外研究人员发现了一种新型的勒索软件,并将其命名为Magniber,值得注意的是,这款勒索软只针对韩国及亚太地区的用户开展攻击.该勒索软件是基于Magnitude exploit kit(简称 ...

  6. 企业微信开发之向员工付款(C#)

    一.企业微信API 地址:http://work.weixin.qq.com/api/doc#11545 二.参数说明 1.向员工付款 请求方式:POST(HTTPS)请求地址:https://api ...

  7. java如何调用接口方式一

    java如何调用接口 其实对于java调用接口进行获取对方服务器的数据在开发中特别常见,然而一些常用的基础的知识总是掌握不牢,让人容易忘记,写下来闲的时候看看,比回想总会好一些. 总体而言,一些东西知 ...

  8. Mybatis基本用法--上

    Mybatis基本用法--上 本文只是为自己查漏补缺.全面的请看官方文档,支持中英文 原理参考:http://blog.csdn.net/luanlouis/article/details/40422 ...

  9. Spring + Fastweixin 微信开发

    这篇文章转自<http://www.qtdebug.com/spring-weixin/> 微信有两种模式,编辑模式和开发者模式,有些功能是互斥的,不可以同时使用,微信开发需要在开发者模式 ...

  10. left join 条件位置问题

    表一: