博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中面向对象的分拣存储
阅读量:4334 次
发布时间:2019-06-07

本文共 3613 字,大约阅读时间需要 12 分钟。

Student.java

package yzhou.map;/** * 学生类 *  *  * @author 洋 * */public class Student{    private String name;    private String no;    private double score;    public Student()    {            }    public Student(String name, String no, double score)    {        super();        this.name = name;        this.no = no;        this.score = score;    }    public String getName()    {        return name;    }    public void setName(String name)    {        this.name = name;    }    public String getNo()    {        return no;    }    public void setNo(String no)    {        this.no = no;    }    public double getScore()    {        return score;    }    public void setScore(double score)    {        this.score = score;    }            }

ClassRoom.java

package yzhou.map;import java.util.ArrayList;import java.util.List;/** * 一个班级 多个学生 * @author 洋 * */public class ClassRoom{    private String no;    private List
stuList; private double total; public ClassRoom() { stuList = new ArrayList
(); } public ClassRoom(String no) { this(); this.no = no; } public ClassRoom(String no, List
stuList, double total) { super(); this.no = no; this.stuList = stuList; this.total = total; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } public List
getStuList() { return stuList; } public void setStuList(List
stuList) { this.stuList = stuList; } public double getTotal() { return total; } public void setTotal(double total) { this.total = total; } }

MapDemo03.java

package yzhou.map;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;/** *  * 面向对象+分解存储 * @author 洋 * */public class MapDemo03{    public static void main(String[] args)    {        List
stuList = exam(); Map
map = count(stuList); view(map); } /* * 查看每个班的总分和平均分 --》遍历map * */ public static void view(Map
map) { Set
keys = map.keySet(); //获取迭代器对象 Iterator
keysIt = keys.iterator(); //先判断 while(keysIt.hasNext()){ //在获取 String no = keysIt.next(); ClassRoom room = map.get(no); //查看总分 计算平均分 double total = room.getTotal(); double avg = total/room.getStuList().size(); System.out.println(no+"--->"+total+"-->"+avg); } } /* * 统计分析 * */ public static Map
count(List
list){ Map
map = new HashMap
(); //1.遍历 for(Student stu:list) { //分拣查看是否存在, 该编号的班级 String no = stu.getNo(); double score = stu.getScore(); //如果不存在 ,创建班级 ClassRoom room = map.get(no); if(null==room) { room = new ClassRoom(no); map.put(no, room); } //存在,放入学生 room.getStuList().add(stu); room.setTotal(room.getTotal()+score); } return map; } /* * 模拟考试 测试数据到List 中 * */ public static List
exam(){ List
list = new ArrayList
(); //存放学生成绩 list.add(new Student("yzhou01","a",80)); list.add(new Student("yzhou02","a",80)); list.add(new Student("yzhou03","a",80)); list.add(new Student("yzhou04","b",80)); list.add(new Student("yzhou05","b",80)); list.add(new Student("yzhou06","b",80)); return list; }; }

转载于:https://www.cnblogs.com/zychengzhiit1/p/4790440.html

你可能感兴趣的文章
曹德旺
查看>>
【转】判断点在多边形内(matlab)
查看>>
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>