Java 关于hashmap的创建。
Java关于hashmap的创建:问题描述如下,有这样一个编程要求step1:创建类StudentJavaScore,实现comparable接口,包含两个字段intja...
Java 关于hashmap的创建:
问题描述如下,有这样一个编程要求
step1:创建类StudentJavaScore,实现comparable接口,包含两个字段int javaScore记录java成绩,String name表示学生姓名,生成对应的getter/setter方法,comparable接口要求的compareTo方法,以javaScore的大小决定对象的大小,如果javaScore相等,当前对象小,否则javaScore大的对象序列大,重写toString()函数。
step2:建立ScoreOperation类,并在类中建立publicvoidmakeHashMapFile(File file)方法,该方法中通过Scanner类读入学生姓名及成绩存储在LinkedList对象中,通过Iterator遍历LinkedList将学生姓名和成绩作为“键/值”对添加到新创建的HashMap对象中,用恰当的Java IO类将HashMap对象写入存储在File指定的文件中。
提问:这个hashmap该如何定义? 即键值对在同一类中Hashmap<x,y>,
x.y分别该写什么?
请大神指点,最好可以写出整个的hashmap的定义存储过程 谢。
开发环境:exlpse luna
jdk7
utf-8
其实 我的Hashmap已经做出来了 就是排序部分真的有错 如果刚好有java方面的高手看到麻烦真的帮忙下
运行效果如下
当前已写部分相关代码:
public class StudentJavaScore implements Comparable {
int JavaScore;
String name;
public int compareTo(Object b){
StudentJavaScore sjs = (StudentJavaScore) b;
if((this.JavaScore - sjs.JavaScore)==0)
return -1;
else
return (int)((this.JavaScore - sjs.JavaScore)*100);
}
public String toString(){
return name+JavaScore;
}
} 展开
问题描述如下,有这样一个编程要求
step1:创建类StudentJavaScore,实现comparable接口,包含两个字段int javaScore记录java成绩,String name表示学生姓名,生成对应的getter/setter方法,comparable接口要求的compareTo方法,以javaScore的大小决定对象的大小,如果javaScore相等,当前对象小,否则javaScore大的对象序列大,重写toString()函数。
step2:建立ScoreOperation类,并在类中建立publicvoidmakeHashMapFile(File file)方法,该方法中通过Scanner类读入学生姓名及成绩存储在LinkedList对象中,通过Iterator遍历LinkedList将学生姓名和成绩作为“键/值”对添加到新创建的HashMap对象中,用恰当的Java IO类将HashMap对象写入存储在File指定的文件中。
提问:这个hashmap该如何定义? 即键值对在同一类中Hashmap<x,y>,
x.y分别该写什么?
请大神指点,最好可以写出整个的hashmap的定义存储过程 谢。
开发环境:exlpse luna
jdk7
utf-8
其实 我的Hashmap已经做出来了 就是排序部分真的有错 如果刚好有java方面的高手看到麻烦真的帮忙下
运行效果如下
当前已写部分相关代码:
public class StudentJavaScore implements Comparable {
int JavaScore;
String name;
public int compareTo(Object b){
StudentJavaScore sjs = (StudentJavaScore) b;
if((this.JavaScore - sjs.JavaScore)==0)
return -1;
else
return (int)((this.JavaScore - sjs.JavaScore)*100);
}
public String toString(){
return name+JavaScore;
}
} 展开
1个回答
展开全部
用hashmap好像是你自己想的,我觉得用treeMap不是更好,而且类已经实现Comparable接口了。
public int compareTo(Object b) {
StudentJavaScore sjs = (StudentJavaScore) b;
if (this.JavaScore >sjs.JavaScore)
return 1;
else if (this.JavaScore==sjs.JavaScore)
return 0;
else
return -1;
}
compareTo方法应该类似这样。你看看吧。
追问
稍等哈 我先去把这个项目编完再回来采纳你的答案 我好像错解了老师的意思,hashmap好像只需要把姓名跟成绩存储进去就行。不需要排序。。后面有一个排序的treemap。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询