HashMap的使用

import java.util.HashMap;

import java.util.Iterator;

//HashMap<key, value>():键值对的形式存储数据,相当于编号存储

//Key值重复会覆盖;无序存储

//一般用迭代器循环输出的都是无序存储的

public class HashMap类 {

    public static void main(String[] args) {

        //利用Map接口实现

        //Map hm=new HashMap();

        HashMap hm=new HashMap();

        Emp emp1=new Emp("001", "张三", 1200);

        Emp emp2=new Emp("002", "李四", 2200);

        Emp emp3=new Emp("003", "王五", 2200);

        //存储数据

        hm.put("001", emp1);

        hm.put("002", emp2);

        hm.put("002", emp3);

        //查找数据

        if(hm.containsKey("002")){

            System.out.println("存在");

            //取值

            Emp emp=(Emp)hm.get("002");

            System.out.println("姓名:"+emp.getName());

        }else{

            System.out.println("不存在");

        }

        //遍历HashMap中所有Key和Value(迭代器)

        Iterator it=hm.keySet().iterator();

        //hasNext()返回一个boolean

        while(it.hasNext()){

            //取key

            String key=it.next().toString();

            //通过key取value

            Emp emp=(Emp)hm.get(key);

            System.out.println("学号:"+emp.getEmpNo()

                    +",姓名:"+emp.getName()+",薪水:"+emp.getSal());

        }

    }

}
class Emp{

    private String empNo;

    private String name;

    private float sal;

    public Emp(String empNo, String name, float sal) {

        super();

        this.empNo = empNo;

        this.name = name;

        this.sal = sal;

    }

    public String getEmpNo() {

        return empNo;

    }

    public void setEmpNo(String empNo) {

        this.empNo = empNo;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public float getSal() {

        return sal;

    }

    public void setSal(float sal) {

        this.sal = sal;

    }

}

HashMap的使用的更多相关文章

  1. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

  2. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

  3. 计算机程序的思维逻辑 (40) - 剖析HashMap

    前面两节介绍了ArrayList和LinkedList,它们的一个共同特点是,查找元素的效率都比较低,都需要逐个进行比较,本节介绍HashMap,它的查找效率则要高的多,HashMap是什么?怎么用? ...

  4. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  5. 学习Redis你必须了解的数据结构——HashMap实现

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接博客园蜗牛 cnblogs.com\tdws . 首先提供一种获取hashCode的方法,是一种比较受欢迎的方式,该方法参照了一位园友的 ...

  6. HashMap与HashTable的区别

    HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题不涉及到HashSet和H ...

  7. JDK1.8 HashMap 源码分析

    一.概述 以键值对的形式存储,是基于Map接口的实现,可以接收null的键值,不保证有序(比如插入顺序),存储着Entry(hash, key, value, next)对象. 二.示例 public ...

  8. HashMap 源码解析

    HashMap简介: HashMap在日常的开发中应用的非常之广泛,它是基于Hash表,实现了Map接口,以键值对(key-value)形式进行数据存储,HashMap在数据结构上使用的是数组+链表. ...

  9. java面试题——HashMap和Hashtable 的区别

    一.HashMap 和Hashtable 的区别 我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Clonea ...

  10. 再谈HashMap

    HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见.先来介绍些基础知识.你可能也知 道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶 ...

随机推荐

  1. DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

    DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法: 一.DedeCMSv5.6及其以前版本: dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种 ...

  2. 自定义java代码快捷生成器使用与问题解决

    对于很多的工作了有几年的开发人员来说,初期都是逐个单词语法的自己编写的.而一旦技术水平提高了到了一定的层次之后,在同时工作量的加大,要求我们必须加快提高工作效率.因此就可以利用必要的快捷开发手段和工具 ...

  3. 【frame】找上一层

    第一种:window.parent第二种:window.top 貌似两种都行 然后找上一层iframe里面的js函数可以这么写: window.parent.functionName(param1, ...

  4. Fedora 安装 phpMyAdmin(可能只有自己看得懂)

    yum groupinstall "Development Tools" yum install php-mysqli php-mbstring php-mcrypt yum in ...

  5. HDU 4578——Transformation——————【线段树区间操作、确定操作顺序】

    Transformation Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 65535/65536 K (Java/Others)T ...

  6. fetch技术

    Snandy If you cannot hear the sound of the genuine in you, you will all of your life spend your days ...

  7. xml解析demo使用

    package lianxi; import java.io.FileOutputStream;import java.io.OutputStreamWriter; import javax.xml. ...

  8. python--Time(时间)模块

    要使用一个模块,首先要把模块导入进来 import time 我们先把这一篇文章需要用的模块导入进来 首先说一下time模块,time模块中的函数 --sleep:休眠指定的秒数(可以是小数) imp ...

  9. Android学习笔记4——Activity详解

    在 Android 开发过程中,与程序员打交道最多的应该就是作为四大组件之一的 Activity 了.接下来我们就一起来揭开 Activity 的神秘面纱吧~ 一.概述 什么是 Activity(活动 ...

  10. Cocos2d-x v3.1项目创建(三)

    Cocos2d-x v3.1项目创建(三) Cocos2d-x官方为我们提供了用于创建.编译.运行和部署的一套命令行的工具集,也就是上篇文章中我们所提到的Cocos2d-Console,它位于我们的引 ...