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. jemeter的简单使用

    建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划. 添加线程组 一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程 ...

  2. LeetCode 303.区域检索-数组不可变(accumulate()和for循环差异分析)

    给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数 ...

  3. CentOS安装最新Git

    1.依赖库安装 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc pe ...

  4. 对于ESP、EBP寄存器的理解

    原文:http://blog.csdn.net/yeruby/article/details/39780943 esp是栈指针,是cpu机制决定的,push.pop指令会自动调整esp的值: ebp只 ...

  5. IDEA 生成 JPA实体类

    文章目录1.创建工程2.连接数据源3.生成`JPA`实体类4.生成实体类结果1.创建工程使用Maven来构建工程,为了简化创建步骤 创建一个新工程不包含任何Maven模板,[按需添加] 命名 Grou ...

  6. vue的组件传输

    vue的组件传输有四种,我个人觉得pubsub(订阅/发布)是最好用的,因为他不用去考虑关系,所以我们下面就只讲解pubsub吧 1) 优点: 此方式可实现任意关系组件间通信(数据)   首先我们需要 ...

  7. hibernate课程 初探一对多映射1-1 课程简介

    hibernate 常见映射类型 one-to-many many-to-one one-to-one many-to-many

  8. css 伪元素选择器

    /*设置第一个首字母的样式*/ p:first-letter{ color: red; font-size: 30px; } /* 在....之前 添加内容 这个属性使用不是很频繁 了解 使用此伪元素 ...

  9. canvas制作倒计时炫丽效果

    <!DOCTYPE html> <head> <title>canvas倒计时</title> <style> .canvas{ displ ...

  10. Android基础Activity篇——销毁活动

    销毁活动只需要添加 finish(); 这个方法即可.相当于back键.