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);
}
}