Map 인터페이스는 set처럼 순서를 보장하진않지만 요소(데이터)가 같아도 키(key)값만 다르면 담을수있는ㄴ
장점이 있습니다
코드를 작성해보면서 Map의 기능들을 알아봅시다
map은 데이터를 추가하려면 put메소드를 활용해야합니다 기본적으로 key값이 앞에 들어가고
data가 뒤에 들어가게 됩니다, 이 데이터를 찾을때엔 key값을 입력해야하는데
예를 들어 메가커피를 찾더라도 서면점, 용호점, 부경대점 을 찾듯이 데이터를 찾을때엔
key값을 입력해주면 됩니다
for each를 활용해서 순회가능
clear를 활용해서 전체삭제도 가능
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();
}
}
'Java' 카테고리의 다른 글
기반 스트림과 보조 스트림 (0) | 2024.05.24 |
---|---|
자바 I/O(입력 출력) 개론 (0) | 2024.05.24 |
Set 인터페이스 (0) | 2024.05.24 |
List 인터페이스 (2) | 2024.05.24 |
LinkedList (0) | 2024.05.22 |