본문 바로가기

Java3

자바 컬렉션 정리 (2) - Map 자바 컬렉션 정리 (2) - Map Map 은 python 에서 자주 쓰던 dictionary 와 같다. Key : Value의 쌍으로 구성되어 data 를 넣어놓기에 유용하다. Map 은 인터페이스이고, 이를 구현하기 위한 구현체로 HashMap, TreeMap, LinkedHashMap 등이 있다. 그 중 HashMap 에 대해 자세히 정리해보겠다. HashMap Map 의 구현체 Key, Value 로 구성된 Entry 객체를 저장하는 구조임 Key, Value 역시 모두 객체임 파이썬의 Dictionary 와 마찬가지로 Key 는 중복될 수 없다. 같은 Key 로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 엎어친다. Hashing 을 사용하기 때문에 많은 양의 데이터를 검색할 때 뛰어난 성.. 2024. 1. 30.
자바 컬렉션 정리 (1) - Set 오늘부터 java 의 Collection 을 뽀개보는 시간을 가져보겠다. 오늘의 주인공은 Set. Set 이라는 interface 에, Set 의 구현체인 HashSet, TreeSet, LinkedHashSet 을 알아보고자 한다. Set 중복을 허용하지 않는다. 어릴때 배웠던 집합처럼 중복된 요소를 인정하지 않기 때문에, 이미 set 에 존재하는 요소를 추가하려고 하면 무시된다. 순서 없습니다. 요소의 순서를 보장하지 않는다. HashSet 의 경우, 순서가 변경될 수 있다. Indexing 없다 : Array, List 와 다르게 인덱싱을 제공하지 않는다. Primitive type을 저장할 수 없다. : Set 은 ArrayList, Map 과 함꼐 wrapper class 만 저장할 수 있습니다.. 2024. 1. 30.
백준 1436: 영화감독 숌 백준 1436: 영화감독 숌 분석 브루트 포스 문제이다. ‘666’ 이 연속될 경우, 문제 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수.. 2024. 1. 24.