Java HashKey를 이용한 예제

HashKey를 이용하여 학생 정보를 입력, 출력하는 예제입니다.

package tue160607; 
 
import java.util.HashMap; 
import java.util.Scanner; 
 
/** 
 * Created on 2016-06-07. 
 */ 
public class StudentInformation { 
    private static boolean flag = true; 
    public static void main(String[] args) { 
        Scanner scanner = new Scanner(System.in); 
        int select; 
        int sno; 
        String name; 
        String tell; 
        int snoSearch; 
        HashMap<Integer, StudentInform> st = new HashMap<Integer, StudentInform>(); 
        while(flag) { 
            //따로 flag가 아니라 그냥 true로 해둬도 될 것 같음. 
            System.out.println("<< 학생 정보 관리 >>"); 
            System.out.println("[1] 학생 정보 입력"); 
            System.out.println("[2] 학생 정보 검색"); 
            System.out.print("선택 : "); 
            select = scanner.nextInt(); //따로 예외처리가 되어있지 않음!!! 
            switch (select) { 
                //switch문을 사용하여.. 
                case 1: //입력 선택시 
                    System.out.println("<< 학생 정보 입력 >>"); 
                    System.out.print("학번: "); 
                    sno = scanner.nextInt(); 
                    //각각 하나씩 따로 변수에 저장 
                    System.out.print("이름: "); 
                    name = scanner.next(); 
                    System.out.print("전화번호: "); 
                    tell = scanner.next(); 
 
                    st.put(sno, new StudentInform(sno, name, tell)); 
                    //저장 후 키맵에 집어넣는다! 
                    System.out.println("입력이 완료 되었습니다."); 
                    break; 
                case 2: //출력 선택시 
                    System.out.println("<< 학생 정보 검색 >>"); 
                    System.out.print("학번: "); 
                    snoSearch = scanner.nextInt(); //검색에서 입력하는 학번은 따로 
                    //snoSearch라는 이름으로 지정하였음. 
                    if(st.get(snoSearch) != null) { //값이 있다면 null값을 반환하지 않을 것임. 
                        System.out.println(st.get(snoSearch)); 
                    } 
                    else { //null값을 반환했다는 뜻은 데이터가 없다는 뜻이므로.. 
                        System.out.println("해당 데이터 없음."); 
                    } 
                    break; 
 
                default: //default를 제외한 예외처리는 따로 지정하지 않음. 
                    System.out.println("잘못 입력함."); 
                    break; 
            } 
        } 
    } 
} 
 
class StudentInform { 
    protected int sno; 
    protected String name, tell; 
    protected StudentInform(int sno, String name, String tell) { 
        this.sno = sno; 
        this.name = name; 
        this.tell = tell; 
    } 
 
    @Override 
    public String toString() { //System.out.println을 불러올 때.... 
        return "이름: " + name + "
전화번호 : " + tell + "
"; 
    } 
} 

출력결과

<< 학생 정보 관리 >> 
[1] 학생 정보 입력 
[2] 학생 정보 검색 
선택 : 1 
<< 학생 정보 입력 >> 
학번: 130101 
이름: 손승기 
전화번호: 940-8282 
입력이 완료 되었습니다. 
<< 학생 정보 관리 >> 
[1] 학생 정보 입력 
[2] 학생 정보 검색 
선택 : 2 
<< 학생 정보 검색 >> 
학번: 130101 
이름: 손승기 
전화번호 : 940-8282 
 
<< 학생 정보 관리 >> 
[1] 학생 정보 입력 
[2] 학생 정보 검색 
선택 : 2 
<< 학생 정보 검색 >> 
학번: 130202 
해당 데이터 없음. 
<< 학생 정보 관리 >> 
[1] 학생 정보 입력 
[2] 학생 정보 검색 
선택 :