2021. 3. 20. 17:19ㆍJAVA 공부
어제는 오늘 있을 자격증 시험을 준비하느라, 포스팅 하지 못했던 Set과 Map 을 다시 한번 복습하면서 , 포스팅 해보도록 하겠습니다 ~~
HashSet
Set은 순서가 뒤죽박죽 (index가 없다) , 중복된 내용x 입니다.
로또 바구니 라고 생각을 하면 된다고 합니다 ex) 로또번호는 1~45까지 뒤죽박죽 으로 중복되지 않은 값
Set은 Interface 라서, 구체화 된 HashSet을 사용해 줍니다.
다형성에 의해서 HashSet은 Set 에 저장이 될 수 있습니다.
물론, HashSet 에 저장을 해도 됩니다 ~
- add(Type e) -> e를 추가
- size() -> set의 크기를 반환
분명히 add를 5번 썻는데, 크기가 4죠?
- hasNext() -> 다음 값이 있는지 검사 , 있으면 true, 없으면 false
- next() -> 다음 값으로 이동하면서, 반환
set에 접근할 때에는 , Iterator(반복자) 를 만들어서 접근을 해야 합니다.
이렇게 출력을 해보면, 순서가 뒤죽박죽으로 들어간 걸 확인 할 수 있습니다
- contains(Object o) -> set에 o가 포함되어 있는지 여부 true, false
Set 에는 index(순서)가 없기 때문에, 값으로 접근을 해주어야 합니다
- remove(Obejct o) -> set에 저장되어 있는 값 o 삭제
TreeSet
TreeSet 도 Set 입니다 ~
그렇기 때문에, HashSet 이랑 똑같은데 ... 1개만 달라요
중복x 순서x 그리고 오름차순으로 정렬이 됩니다 !
중복된 강아지는 저장이 안된걸 확인 할 수 있고, 저장된 값은 순서에 상관없이 오름차순으로 정렬되어 있는 것을 확인 할 수 있습니다.
Map
map 은 굉장히 중요하다고 합니다 ~
map 은 key, value 를 가지고 있습니다.
key 는 고유한 성질을 가지고 있습니다. ( 중복 x )
Map 도 HashMap 을 사용하면 되는데요, HashMap 저장해도 되고, Map 에 저장을 해도 됩니다
Map은 Key, Value 를 가지고 있기 때문에 위 사진처럼, Key값에 사용할 타입과 Value값으로 사용할 타입을 지정해주어야 합니다 <Interger, String>
- put(Type key, Type value) -> key와 value를 저장
같은 키를 입력할 경우 key에 해당하는 value 값 수정
- size() -> map의 크기를 반환
- get(Type key) -> key값으로 해당하는 value 얻어오기
- map에 들어있는 값 순차적으로 접근하기
- keySet() -> key만 추출해서 Set형태로 반환
향상된 for 문을 이용해서 이렇게 접근할 수 있습니다.
또는, 반복자 Iterator를 이용해서 접근 하는 방법도 있습니다.
- EntrySet() -> Set<Entry<Type, Type>> 형태로 반환
EntrySet 을 이용해서, 이렇게 접근을 하는 방법도 있습니다.
EntrySet은 key를 얻어올 수도, value를 얻어올 수도 있습니다.
- containsKey(Type key) -> map 안에 매개변수로 받은 key값이 있는지 검사합니다
- remove(Type key) -> map 안에 매개변수로 있는 key 값이 있다면 삭제합니다
ArrayList , LiknedList 를 배우고 와서 그런지, 메서드 들이 거의 비슷하게 느껴지는 것 같습니다.
그래도 몇몇개는 헷갈리니까, . 을 이용해서 잘 사용합시다 ~
여태까지 배운 Collection Freamwork 중에는, ArrayList, Map 이 가장 중요하다고 합니다 ~
다른거는 다 까먹어도 ArrayList, Map은 기억하도록 합시다
이렇게 Set, Map 에 대해서 알아봤습니다
고생하셨습니다
'JAVA 공부' 카테고리의 다른 글
Day26 - 파일 형식 지정 읽기 InputStreamReader (0) | 2021.03.23 |
---|---|
Day25 - 폴더 생성, 폴더 삭제, FileWriter, FileReader, Buffered (0) | 2021.03.22 |
Day23 - Generic 을 적용한 List ? , LinkedList (0) | 2021.03.18 |
Day22 - Collection Framework , ArrayList (0) | 2021.03.17 |
Day22 - 제네릭 ( Generic ) (0) | 2021.03.17 |