• 티스토리 홈
  • 프로필사진
    Song hyun
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Song hyun
  • 프로필사진
    Song hyun
    • 분류 전체보기 (780)
      • 백준 (0)
      • 일본어 (0)
        • 모모타로TMC (0)
      • 영어 (2)
        • Diary (0)
        • Toast Masters (2)
      • 메모 (13)
      • 설치 메뉴얼 (30)
      • Java (178)
      • MySQL (60)
      • JSP (67)
      • Springboot (46)
      • HTML,CSS, JS (71)
        • HTML (8)
        • CSS (12)
        • JavaScript (37)
        • HTML&CSS 스터디 (13)
      • C++ (7)
      • Linux (7)
      • JPA (34)
      • Kotlin (2)
      • Flutter (42)
      • Error Note (39)
      • 디자인 패턴 (12)
      • 디지털논리회로 (4)
      • 데이터베이스 시스템 (8)
      • 알고리즘 (7)
      • 운영체제 (3)
      • 이산수학 (3)
      • 인공지능 (1)
      • 자료 구조 (14)
        • 기본 개념 (14)
        • 자료구조 스터디 (0)
      • 💡My project (76)
        • 팩맨 : Java Swing 게임 제작 프로젝트 (6)
        • 네이트톡 : Java 소켓 통신 프로젝트 (4)
        • 포켓옥션 : HikariCP&JDBC CRUD 프.. (3)
        • 이지 부산 : BDIA-Devton 2024 프로.. (20)
        • 그린 유니버시티 : JSP를 사용한 학사관리 프로.. (1)
        • 애드 포커 : 웹 소켓과 Spring을 사용한 카.. (1)
        • 셸위 : 게임 친구 매칭 사이트 (21)
        • 다모아 : 개발자 중개 플랫폼 (20)
      • 📗스터디 (13)
        • CNN : 웹개발 스터디 (10)
        • Node&React로 유튜브 사이트 만들기 (3)
      • 📙독서 및 강연 기록 (36)
        • 강연 (14)
        • 독서 (22)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [자료 구조] 13. Map 인터페이스 사용 예제 :회원 가입 순서 기록 및 조회 시스템
        2024년 05월 13일
        • Song hyun
        • 작성자
        • 2024.05.13.:21
        728x90
        반응형

        [자료 구조] 13. Map 인터페이스 사용 예제

        : 회원 가입 순서 기록 및 조회 시스템

         

        도전과제: 회원 가입 순서 기록 및 조회 시스템

        문제 설명: 사용자들이 웹사이트에 가입한 순서대로 회원 정보를 기록하고, 가입한 순서를 기준으로 회원을 조회하는 시스템을 구현하고자 합니다. 사용자는 이름과 이메일 주소로 구성되며, 시스템은 사용자가 가입한 순서대로 정보를 저장해야 합니다. 사용자를 조회할 때는 가입한 순서대로 출력해야 하며, 특정 사용자의 정보를 업데이트할 수 있어야 합니다.

         

        * 해결 방법:

        LinkedHashMap을 사용하여 사용자의 가입 순서를 유지하면서 사용자 정보를 저장합니다. LinkedHashMap은 요소가 추가된 순서대로 요소를 저장하고 반환하는 특성이 있어 이 문제에 적합합니다.

         

         

        package Structure.ch07;
        
        import java.util.LinkedHashMap;
        import java.util.Map;
        
        public class UserRegistrationSystem {
        	
        	private Map<String, User> users = new LinkedHashMap<>();
        	
        	// 정적 내부 클래스를
        	static class User {
        		String name; 
        		String email; 
        		public User(String name, String email) {
        			this.name = name; 
        			this.email = email;
        		}
        		@Override
        		public String toString() {
        			return "이름 : " + name + ", 이메일 : " + email;
        		}
        	} // end of inner User class 
        	
        	// 사용자 등록 기능 
        	public void addUser(String name, String email) {
        		// key, value(User)  
        		users.put(email, new User(name, email));
        	}
        	
        	// 사용자들 출력 기능 
        	public void displayUsers() {
        		for(User user : users.values()) {
        			System.out.println(user);
        		}
        	}
        	
        	
        	// 코드 테스트 (메인 함수) 
        	public static void main(String[] args) {
        		
        		UserRegistrationSystem system = new UserRegistrationSystem();
        		// 스캐너 
        		User user1 = new User("홍길동1", "a@naver.com");
        		User user2 = new User("홍길동2", "b@naver.com");
        		User user3 = new User("홍길동3", "c@naver.com");
        		
        		system.addUser(user1.name, user1.email);
        		system.addUser(user2.name, user2.email);
        		system.addUser(user3.name, user3.email);
        		
        		// Map 구조는 기본적으로 순서를 보장하지 않지만 LinkedHashMap 을 사용해서 해결 
        		// 가입한 순서대로 출력하는지 확인 
        		system.displayUsers();		
        	}
        }

         

        728x90
        반응형

        '자료 구조 > 기본 개념' 카테고리의 다른 글

        [자료 구조] 12. Map 인터페이스  (0) 2024.05.13
        [자료 구조] 11. Set 인터페이스 예제 : 고유 사용자 ID 관리 시스템  (0) 2024.05.10
        [자료 구조] 10. Set 인터페이스  (0) 2024.05.10
        [자료 구조] 9. List 인터페이스 활용 : 영화 평점 관리 시스템 예제 만들기  (0) 2024.05.09
        [자료 구조] 8. List 인터페이스  (0) 2024.05.09
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바