HashMap 을 이용한 성적 처리

DeokHun KIM·2022년 7월 21일
0

java

목록 보기
28/30
//1. 3명의 학생데이터(성명,국어,영어,수학)를 
//   StudentVO 클래스를 이용해서 만들고
//2. HashSet<StudentVO> 타입의 변수(set)에 저장하고 출력

StudentVO stu1 = new StudentVO("홍길동", 100, 90, 81);
StudentVO stu2 = new StudentVO("이순신", 95, 88, 92);
StudentVO stu3 = new StudentVO("김유신", 90, 87, 77);

//2. HashMap<String, StudentVO> 타입의 변수(map)에 저장하고
HashMap<String, StudentVO> map = new HashMap<String, StudentVO>();
map.put("홍길동", stu1);
map.put("이순신", stu2);
map.put("김유신", stu3);
//map.put(stu3.getName(), stu3);

//3. map에 있는 데이터를 사용해서 전체 데이터 화면출력
Set<String> keySet = map.keySet();
for (String key : keys) {
    StudentVO student = map.get(key);
	printData(student);
}

//4. 김유신 국어 점수를 95 점으로 수정 후 전체데이터 출력
StudentVO kim = map.get("김유신");
kim.setKor(95);

Collection<StudentVO> collectVO = students.values();
for (StudentVO vo : collectVO) {
	printData(vo);
}

또는,
for (String key : keySet) {
	if (map.get(key).getName().equals("김유신")) {
		map.get(key).setKor(95);
	}
	printData(map.get(key));
}
		
//5. "김유신" 학생 성적만 출력
printData(kim); //키를 알고있으면 바로 뽑아서 쓰면 된다
메소드
static void printData(StudentVO vo) {
	System.out.println(vo.getName() + "\t" + 
		vo.getKor() + "\t" + 
		vo.getEng() + "\t" +
		vo.getMath() + "\t" +
		vo.getTot() + "\t" +
		vo.getAvg() );

0개의 댓글