2022.08.01 - [java] - Step12_UtilClass (ArrayList 활용 객체 배열)
전 게시글에서 ArrayList를 활용한 객체 배열에 관하여 Member, MemberDto 클래스를 예시로 만들어 학습했다.
이번에는 Hashmap을 활용해 Key, Value 형태로 data를 관리하고자 한다. Hashmap도 ArrayList안에 넣어 객체 배열 형태로 사용하는 것이 가능하다.
MainClass09 (HashMap)
key, value 값으로 정보를 관리할 수 있는 HashMap 클래스가 있다. (javascript의 object type과 비슷하다.)
key는 대부분의 경우에 String을 사용하고 종종 Integer을 사용한다.
HashMap을 사용할때 put과 get 메소드가 자주 쓰인다. 예시에서의 containsKey 와 같은 메소드도 쓰이긴 한다.
List type과 마찬가지로 HashMap 역시 구현한 부모 interface인 Map interface에 주요 메소드가 포함되어 있기 때문에 주로 HashMap이 아닌 Map type으로 변수를 만든다.
MainClass10 (HashMap casting)
Map<String, Object> map=new HashMap<>();
예시에서 처럼 Object를 Value 값에 작성하면 어떤 type의 정보도 받을 수 있다.
하지만 값을 가져오기 위해서 get 메소드를 사용할때 Object type으로 받아야한다. 이때 활용하기 편한 int, String 등으로 받기 위해서는 casting 과정이 필요하다. (물론 해당 값이 해당 type의 형태와 일치해야한다.)
in javascript | in java |
let members=[{}, {}, {}, {}]; | List<HashMap<String, Object>> |
Hashmap을 ArrayList안에 넣어 객체 배열 형태로 사용하는 것이 가능하다. 반대로 HashMap 안에 List가 들어갈 수도 있다.
MainClass11 (HashSet)
.
HashSet 은 Set 인터페이스를 구현한 클래스이다. 순서와 key 값이 없다. 장점으로는 중복을 허용하지 않는다. 보통 특정 data를 묶음(집합) 으로 관리하고자 할때 사용한다.
'java' 카테고리의 다른 글
Step12_UtilClass (Interator, HashSet, Random, while) (0) | 2022.08.02 |
---|---|
Step12_UtilClass (while 반복문, break) (0) | 2022.08.01 |
Step12_UtilClass (ArrayList 활용 객체 배열, Member, MemberDto) (0) | 2022.08.01 |
Step12_UtilClass (ArrayList) (0) | 2022.08.01 |
Step12_UtilClass (ArrayList, Scanner, 확장 for 문) (0) | 2022.08.01 |