본문 바로가기
반응형

Programing General9

[Java] int와 Integer의 차이 int와 Integer은 쓰임새가 유사한 것 같으면서도 다르다. 정확하게 개념을 짚어놓지 않으면 코딩할 때 왜 이 메소드에서 매개변수를 틀렸다고 하는지, 어떻게 변환해서 사용하는게 옳바른지 등 헷갈리기 쉽기 때문에 간단하게 정리를 해보자. primitive data type vs class 가장 큰 차이이자 핵심이다. int는 자바의 원시 자료형이고, Integer는 자바의 클래스이다. 자바는 객체지향 언어이기 때문에, 상당수의 연산을 객체의 형태를 사용해서 수행한다. 하지만 객체의 연산은 오버헤드가 발생할 수 밖에 없기 때문에, 자주 사용되는 8개의 형태를 원시 자료형으로 남겨놔서 사용할 수 있게 해줬다. int, double, boolean 등등.. 그러니까 사용법이 달라진다... 예를 들어서 자바 .. 2020. 4. 27.
이진 탐색 트리( map, set )와 우선순위 큐 ( Heap ) 이진 탐색 트리 이진 트리의 일종 자신보다 작은 값을 왼쪽 노드에 위치시키고, 자신보다 큰 값을 오른쪽 노드에 위치시킴 C++ 컨테이너인 map, set Java의 TreeSet, TreeMap은 이진 탐색 트리로 이루어져 있다. Map, Set 중복을 허용하지 않는 자료구조 대부분의 언어에서 Red-Black Tree를 사용함 (이진 탐색 트리의 한 종류) 특정한 기준에 의해서 정렬되어있음(JAVA의 경우 TreeMap, TreeSet만 정렬되어있고 HashMap, HashSet은 정렬 X) 자료구조 key value Map 중복될 수 없음 중복 가능 Set 중복될 수 없음 X(존재하지 않음) Heap 우선순위 큐를 위한 자료구조 heap은 우선순위 큐를 구현하기 위한 자료구조로서, 완전 이진트리 이다.. 2020. 1. 6.
[Container Adapter] stack과 queue의 메모리 할당 방식 stack과 queue는 자료구조를 처음 공부할 때 배우는 기초적인 선형 자료구조의 하나이다. 우리가 자료구조를 처음 공부할 때 배운 선형 자료구조의 종류는 다음과 같다. list vector deque queue stack 하지만 여기서 더 엄격한 기준으로 나눠보자면 list, vector, deque queue, statck 이렇게 두 분류로 다시 나눌 수 있다. list, vector, deque는 데이터를 어떻게 물리적으로 저장하는지에 대한 명세가 있는 자료구조이고, queue, stack은 데이터를 어떻게 사용하는지에 대한 명세가 있는 자료구조이다. 즉, 예를들어 stack은 선입후출의 방법으로 사용될 수 있게 설계된다면, deque으로 구현하던, vector로 구현하던, list로 구현하던 아.. 2019. 12. 26.
[java] String, Stringbuffer, Stringbuilder 차이점 및 성능비교 1. String의 메소드 concat과 +연산자의 동작방식 String의 concat과 +연산자가 어떻게 동작하는지 살펴보자. String strNull=null; String str = "aaaa"; String str2 = "bbbb"; System.out.println(str.concat(str2)); System.out.println(str+str2); //System.out.println(strNull.concat(str2)); System.out.println(strNull+str2); 결과 aaaabbbb aaaabbbb nullbbbb 첫 번째 예시에서는 String의 concat과 +연산자의 결과값이 같다. 하지만 두 번째 예시는 concat메소드에서만 NullPointerExcepti.. 2019. 12. 1.
반응형