[java]사용자가 end를 입력할때까지 MAP에 KEY와 VALUE 로 저장하고 end를 입력하면 저장된 데이터 KEY 와 VALUE를 출력하는 예제

2024. 5. 27. 22:10java 예제

public class MapTest {
public static void main(String[] args) {

    // Map에 담을 형식을 키 -> String, 벨류 -> String 형식으로 담겠다는 의미임.
    Map<String, String> map = new HashMap<String, String>();

    System.out.println("(end 를 입력하시면 입력하신 데이터가 출력됩니다.)");
    System.out.println("KEY, VALUE값 입력 : ");
    String end = "end";
    while(true) {
        Scanner sc = new Scanner(System.in);
        // 여기서 입력된값을 정수형이아니라 문자열로 scan에 담았기때문에
        // 입력된값이 문자열로 치환된다.
        String scan = sc.nextLine();
        String scanArray [] = scan.split(",");

        if(scan.equals(end)) {

            // Iterator = 반복자(리스트를 순회할수있게해주는 객체)
            Iterator<String> keys = map.keySet().iterator();
            // 값이존재할때까지 반복 -> 리턴값 boolean
            while (keys.hasNext()) {
                // 키 값 key에 담기 
                String key = keys.next();
                // map.get(key) 의값에 벨류가 나오는이유는 
                // map에 존재하는 키값으로 get햇기때문에.
                System.out.println(String.format("키 -> %s, 값 -> %s", 
                key, map.get(key)));
            }
            break;
        }else {
            map.put(scanArray[0], scanArray[1]);
        }
    	}
	}
}