请教:如何将HashMap中的内容写入到文件?
题目:完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部的信息保存在文件中,
可以实现对学生信息的全面查找,输出全部学生信息的功能。
*/
import java.util.*;
import java.io.*;
class Student implements Serializable{
int num;
String name;
double scores[]; //三门课程成绩
double aver; //平均成绩
public Student(){
this.scores=new double[3];
}
public Student(int num,String name,double score1,double score2,double score3){
this ();
this.setNumber(num);
this.setName(name);
this.setScores(score1,score2,score3);
this.aver=(this.scores[0]+this.scores[1]+this.scores[2])/3;
}
public void setNumber(int num){
this.num=num;
}
public void setName(String name){
this.name=name;
}
public void setScores(double score1,double score2,double score3){
this.scores[0]=score1;
this.scores[1]=score2;
this.scores[2]=score3;
}
public int getNumber(){
return num;
}
public String getName(){
return name;
}
public double[] getScores(){
return scores;
}
public double getAver(){
return aver;
}
public String toString(){
return "学号:"+this.num+"姓名:"+this.name+"\n"+"成绩————>"+"语文:"+this.scores[0]+"数学:"+this.scores[1]+"英语:"+this.scores[2]+"平均成绩:"+this.aver;
}
}
/*
Scanner sc=new Scanner(System.in);
sc.next()即为输入的内容;
*/
public class Test_12{
public static void main(String...args){
HashMap<Integer,Student> stu=new HashMap<Integer,Student>();
File file=new File("D:\\sb\\Stu_info.data");
Student zhangsan=new Student(18,"张三",78,85,92);
Student lisi=new Student(15,"李四",85,87,74);
Student wangwu=new Student(20,"王五",75,98,96);
Student zhaoliu=new Student(9,"赵六",93,98,93);
stu.put(18,zhangsan);
stu.put(15,lisi);
stu.put(20,wangwu);
stu.put(9,zhaoliu);
}
//写到这一步不知道该怎么写了?
}
//怎么将HashMap中的内容保存到文件,又怎么读取文件?希望各位朋友给点意见或思路.
相关推荐
Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
主要介绍了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法,涉及java文件I/O操作及字符串遍历、运算实现统计功能相关技巧,需要的朋友可以参考下
scala-hashmap:Scala中的基本HashMap实现
Scala中的基本HashMap实现 应对KPCB奖学金 依存关系 brew install sbt # on Mac 跑步 sbt run 测试 sbt test
HashMap的容量为什么必须是2的幂?
(源码基于JDK1.7) HashMap的无参实例构造方法默认初始化容量是16(2的4次方)。如果我们使用指定初始化容量的实例构造函数,可以传入一个指定的值,但是实际HashMap在初始化底层存储数据的数组时,会使用一个大于等于指定值的2的幂的数作为数组的初始化容量。并且如果HashMap中元素的个数大于等于阈值并且根据key的哈希值和数组长度减一做按位与运算获取的数组下标位置元素非空,则需要扩容,扩容后容量是原来的2倍,也仍然是一个2的幂,那么HashMap为什么这样来做呢? 我们来从put(K key, V value)方法来一探究竟。先贴上put方法的源码: public V p
Hashtable和HashMap的区别:
Hashtable和HashMap的区别: 1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类; 2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:
在Java中如何决定使用 HashMap 还是 TreeMap
主要介绍了在Java中如何决定使用 HashMap 还是 TreeMap,很多朋友对这样的问题很迷茫,下面小编给大家带来一篇文章帮助大家了解,需要的朋友可以参考下


Java SE
