Java中,HashMap的讲解

1,HashMap是Map接口的常用实现类。
2,HashMap对key进行散列,不允许重复的key.
3,HashMap常用的方法有:
keySet();
values();
entrySet();
4,HashMap遍历的两种方式为:
第一种,Iterator it1=ha.keySet().iterator();
第二种,Iterator it2=ha.entrySet().iterator();
其中,对于keySet其实是遍历了两次,一次是转为iterator,一次就是从HashMap中取出key所对应的value。而entryset只是遍历了一次,就直接把key和value放在ha中去。
5,HashMap的三大作用;
(1),加入元素。(2),遍历这个map。(3),移除元素

下面是一些HashMap的JAVA程序;
题目为:
分数:在0-100之间
考号作为键,分数作为值.
要求分别录入9名学员信息,统计5名学员中参加JAVA考试的平均成绩.

建立两个文件HashMap3.java和Student.java
Student.java

package com.HashMap1.java;

public class Student {

    public Student(String num,int score)
    {
        this.num=num;
        this.score=score;
    }
    public void setNum(String num)
    {
        this.num=num;
    }
    public void setNum(int score)
    {
        this.score=score;
    }
    public String getNum()
    {
        return num;
    }
    public int getScore()
    {
        return score;
    }

    private String num;
    private int score;


}

HashMap3.java

package com.HashMap1.java;
import java.util.*;

public class HashMap3 {
    public static void main(String [] agrs){

    HashMap<Student,String> ha=new HashMap<Student,String>();
    int sum=0;
    double ave;
    Student st1=new Student("0001",90);
    Student st2=new Student("0002",91);
    Student st3=new Student("0003",92);
    Student st4=new Student("0004",94);
    Student st5=new Student("0005",95);
    Student st6=new Student("0006",91);
    Student st7=new Student("0007",92);
    Student st8=new Student("0008",98);
    Student st9=new Student("0009",93);

    ha.put(st1,"张三");
    ha.put(st2,"李四");
    ha.put(st3,"王五");
    ha.put(st4,"一一");
    ha.put(st5,"二二");
    ha.put(st6,"三三");
    ha.put(st7, "四四");
    ha.put(st8, "八百");
    ha.put(st9,"九九");

    Iterator<Student> it=ha.keySet().iterator();  //ha.keySet()。iterator();
    System.out.println("编号                姓名");
    while(it.hasNext())
    {
        Student stu=it.next();
        sum=sum+stu.getScore();
        String str=ha.get(stu);
        System.out.println(stu.getNum()+"---"+str);
    }
    ave=(double)sum/9;
    System.out.println();
    System.out.println("这九名学生参加Java考试的平均成绩为: ");
    System.out.println(ave);


    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值