JAVA | collection(컬렉션) 2

    JAVA / / 2020. 11. 20. 13:32

    Hashtable 

    HashMap : 신버전 
    Hashtable : 구버전

    package kr.co.kihd.hashtable;
    
    import java.util.Hashtable;
    import java.util.Map;
    import java.util.Scanner;
    
    public class HashtableTest {
    
    	public static void main(String[] args) {
    		/*
    		 * HashMap : 신버전
    		 * Hashtable : 구버전
    		 * 기능은 동일하다.
    		 */
    		
    		Map<String, String> map = new Hashtable<>();
    		//객체추가
    		map.put("Spring", "5.3.1");
    		map.put("SpringBoot", "2.4.0");
    		map.put("SpringTools4(sts)", "4.8.1");
    		map.put("Spring2", "5.3.1");
    		System.out.println("총 Entry수 : "+map.size());
    		
    		int count = 0;   //비밀번호 틀린 횟수
    		Scanner scan = new Scanner(System.in);
    		while(true) {
    			System.out.println("아이디와 비밀번호를 입력하세요.");
    			System.out.println("아이디 : ");
    			String id = scan.nextLine();
    			System.out.println("비밀번호 : ");
    			String password = scan.nextLine();
    			System.out.println();
    			
    			/*
    			 * 저장되어 있는 객체를 검색하여(일종의 DB라고 생각하자)
    			 * 아이디와 비밀번호 일치하면 로그인 성공
    			 */
    			if(map.containsKey(id)) {//id가 있는가?
    				/*
    				 * id 즉, 키를 주고 얻어오는 값은 password이니까,
    				 * 같다면 로그인 성공, 아니면 비밀번호가 불일치된다.
    				 * 단, 틀린횟수 1 증가됨
    				 */
    				if(map.get(id).equals(password)) {
    					System.out.println(id + "님이 로그인 되었습니다.");
    					break;
    				}
    				else {
    					count++;
    					System.out.println("비밀번호가 " + count + "회 틀렸습니다.");
    					if(count == 3) {
    						System.out.println("비밀번호가 " + count + "회 틀렸습니다."
    								+ "지점 방문 부탁드립니다. ");
    						break;
    					}
    				}
    			}
    			else {
    				System.out.println("아이디가 존재하지 않습니다.");
    			}
    		}
    		
    	}
    
    }
    

     

     

    Properties

    키와 값을 String타입으로 제한한 Map컬렉션이다.

    프라퍼티 파일 DB연동

     

    database.properties

    driver = oracle.jdbc.OracleDriver
    url = jdbc:oracle:thin@localhost:1521:orcl
    username = scott
    password = tiger
    
    package kr.co.kihd.properties;
    
    import java.io.FileReader;
    import java.io.UnsupportedEncodingException;
    import java.net.URLDecoder;
    import java.util.Properties;
    
    public class PropertiesTest {
    
    	public static void main(String[] args) throws Exception {
    		
    		//Properties객체는 키와 값을 String으로 제한한 Map컬렉션임.
    		Properties properties = new Properties();
    		
    		//PropertiesTest와 동일한 곳에 지금 프러퍼티 파일이 존재하므로 
    		//아래와 같은 path를 얻어오는 것이다.
    		String path = PropertiesTest.class.getResource("database.properties").getPath();
    		System.out.println(path);
    		
    		path = URLDecoder.decode(path, "UTF-8"); //한글이 3바이트
    		//path = URLDecoder.decode(path, "EUC-KR"); //한글이 2바이트
    		System.out.println(path);
    		
    		//database.properties파일을 읽어온다.
    		properties.load(new FileReader(path));
    		System.out.println("======================================");
    		//키를 주고 값을 읽어옴
    		String driver = properties.getProperty("driver");
    		System.out.println("driver : " + driver);
    		String url = properties.getProperty("url");
    		System.out.println("driver : " + url);
    		String username = properties.getProperty("username");
    		System.out.println("driver : " + username);
    		String password = properties.getProperty("password");
    		System.out.println("driver : " + password);
    		
    	}
    
    }
    
    /C:/workspace/chap24(%ec%bb%ac%eb%a0%89%ec%85%98%ed%94%84%eb%a0%88%ec%9e%84%ec%9b%8c%ed%81%ac2)/bin/kr/co/kihd/properties/database.properties
    /C:/workspace/chap24(컬렉션프레임워크2)/bin/kr/co/kihd/properties/database.properties
    ======================================
    driver : oracle.jdbc.OracleDriver
    driver : jdbc:oracle:thin@localhost:1521:orcl
    driver : scott
    driver : tiger

     

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading