请教:如何将HashMap中的内容写入到文件?

a673921712 a673921712 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

题目:完成一个学生管理程序,使用学号作为键添加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操作及字符串遍历、运算实现统计功能相关技巧,需要的朋友可以参考下

weixin_38717169

scala-hashmap:Scala中的基本HashMap实现

Scala中的基本HashMap实现 应对KPCB奖学金 依存关系 brew install sbt # on Mac 跑步 sbt run 测试 sbt test

鈤TiAmo

HashMap的容量为什么必须是2的幂?

(源码基于JDK1.7) HashMap的无参实例构造方法默认初始化容量是16(2的4次方)。如果我们使用指定初始化容量的实例构造函数,可以传入一个指定的值,但是实际HashMap在初始化底层存储数据的数组时,会使用一个大于等于指定值的2的幂的数作为数组的初始化容量。并且如果HashMap中元素的个数大于等于阈值并且根据key的哈希值和数组长度减一做按位与运算获取的数组下标位置元素非空,则需要扩容,扩容后容量是原来的2倍,也仍然是一个2的幂,那么HashMap为什么这样来做呢? 我们来从put(K key, V value)方法来一探究竟。先贴上put方法的源码: public V p

weixin_38552292

Hashtable和HashMap的区别:

Hashtable和HashMap的区别: 1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类; 2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:

ypwanghh

在Java中如何决定使用 HashMap 还是 TreeMap

主要介绍了在Java中如何决定使用 HashMap 还是 TreeMap,很多朋友对这样的问题很迷茫,下面小编给大家带来一篇文章帮助大家了解,需要的朋友可以参考下

weixin_38635682
评论 13
收藏 已收藏
分享
返回顶部
a673921712
Java SE 62,620 成员 307,251 内容