Collections: 3개의 글
주의! 컬렉션과 메모리누수 List, Map, Set 같은 자바 컬렉션 클래스들을 사용할 때는 항상 주의해야한다! 컬렉션 클래스 안에 담겨있는 인스턴스는 프로그램에서 사용되든,안되든 모두 사용되는 것으로 판단되어 GC의 대상이 되지 않아 메모리 누수의 흔한 원인이 된다. carMap에 담긴 car1,car2,car3 인스턴스들은 사용자에 의해 사용되지 않음에도 불구하고 JVM은 그것을 아직은.. 잡아내지 못한다. 때문에 그대로 놔두면 메모리누수가 발생한다. 컬렉션에서 인스턴스를 비워내야만 그때서야 car 인스턴스가 가비지 컬렉터에의해 소거된다. 위 프로그램을 돌리고 힙 히스토그램을 확인한 결과, 아래와 같이 jcmd를 이용해서 GC 후의 결과를 살펴보았음에도, Car 인스턴스 3개가 소거되지 않고 남아있..
collections 모듈을 이용해 dict 정렬하기 파이썬에서 자주 사용하는 Dictionary를 정렬하는 방법은 operator를 사용하는 방법도 있습니다. [바로가기] 이번에는 기본 모듈인 collections를 이용해서 dict 정렬하는 예제입니다. 소스코드 {2:3, 1:89, 4:5, 3:0} --> {1:89, 2:3, 3:0, 4:5} {2:3, 1:89, 4:5, 3:0}의 dict형태의 데이터를 저장하고, collections을 import 합니다. OrderedDict을 통해 정렬을 하는데, 이때 안에는 sorted(dict.items())를 넘겨주시면 됩니다. 아무래도 key와 value가 모두 정렬되니. 간편하게 사용이 가능 합니다. dict = {2:3, 1:89, 4:5, 3:..
참조문서 : https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html 1. 컬렉션이란? java.util 패키지에서 가장 핵심, 여러 개의 객체를 보관할 수 있게 만들어진 클래스들(자료구조) 주요 용어 리스트(List) : 순서를 가지고 있으며, 중복을 허용하는 보관 구조(인덱스 번호가 핵심) 세트(Set) : 순서를 가지지 않고, 데이터의 중복을 허용하지 않는 구조 맵(Map) : 키-값을 가지며, 키를 가지고 원하는 데이터를 검색하는 구조 Element : 자료구조 안에 들어가는 데이터를 의미 시간복잡도 사진출처: http://bigocheatsheet.com/ 2. *List 계열 리스트는 내부적으로 무한대의 배열을 가진다. Array..