개발 13

자바에서 Vector와 Stack 컬렉션이 쓰이지 않는 이유?

자바 컬렉션 프레임워크 Vector와 Stack은 왜 안쓰는가? C++ STL 중 Vector는 Stack과 다르게 random access가 가능하고, iterator 등 구성 원소에 접근이 용이한 여러 기능을 가지고 있어 널리 쓰인다.Vector로 Stack형 자료구조를 구현하게 된다면 스택의 꼭대기가 아닌 맨 아래에 있는 원소를 참조할 수도 있고, 중간 부분에 원소를 추가하는 것 또한 가능하다.반대로 Stack의 LIFO(Last In First Out) 기능에만 관심이 있고, 또 그것을 보장되게 하고 싶다면 Stack STL로 Stack형 자료구조를 구현하는게 좋을 것이다.C++에서 Vector와 Stack은 사용자의 요구에 맞게 상황에 맞게 서로 혼용될 수 있는 편리한 STL인 것이다. 자바도 ..

개발 2019.03.11

switch와 if else 중 어떤 것을 써야하는가?

switch와 if else 중 어떤 것을 써야하는가? switch구문은 변수를 입력 받아 미리 정해놓은 여러 값들과의 일치여부를 판단하여 switch문 내의 control flow를 결정한다. if else구문은 boolean의 결과 값을 내놓는 조건문에 따라 true, false에 해당하는 각각 두 개의 흐름으로 갈라진다. if else문을 중첩되게 배치하면, 두 개의 흐름뿐만 아니라 세 개, 네 개 등등.. 그 이상의 control flow을 가질 수 있게된다.(if / else if / else 와 같은 방식) if else구문을 쓸 수 있는 모든 상황에 switch문을 쓸 수 있는 건 아니지만, 그와 반대로 모든 switch 구문은 if else문으로 대체될 수 있다. 즉, 하나의 변수를 입력받..

개발 2019.02.23