반응형
1. 제네릭(Generic) 이란? 사전적 의미 : 일반적, 포괄적 자바(java)에서 제네릭(generic)은 데이터 타입을 일반화한다는 의미이다. List, Map 을 사용할때 괄호안에 타입을 지정해서 다음과 같이 생성한다. List memberList = new ArrayList(); List numList = new ArrayList(); Map monthMap = new HashMap(); Map memberMap = new HashMap(); class Member { String name; String mailAddress; } 타입으로 String, Integer, 직접만든 Member 클래스등을 지정해서 생성해주었다. 이와같이 List, Map 등을 생성할때 괄호안에 여러 타입들을 지정해..
1. 문제 인식 실무에서 기존에 작성되어있는 코드해석을 할때 HashMap 과 LinkedHashMap 을 둘 다 접하게됐다. key 로 value 값을 찾는, 별 다를것 없이 같은 상황이라고 생각했는데, 왜 이 경우에는 HashMap 을 쓰고, 이 경우에는 LinkedHashMap 을 생성해서 처리해놨을까? 하는 의문에서 출발하게 됐다. HashMap 과 LinkedHashMap 의 차이는 무엇일까? 2. Map Map 은 key 와 value 가 한 쌍으로 이루어진 자료구조이다. key 와 value 의 한 쌍으로 순서를 가지지 않는다. key 는 중복을 허용하지 않는다. 3. HashMap 예제 @Test void hashMap() { // HashMap 생성 Map hashMap = new Has..
1. 문제 인식 실무에 투입되서 특정 조건에 따라 분기하여 query 를 문자열로 생성해야 했다. 동적 쿼리인데, 이를 문자열로 직접 생성해야 했다. 나는 당연히 String 에 더하는 방식을 생각했다. 그렇게 작성하고 나서 선배님이 담당하시는 다른 부분의 코드를 보니 StringBuilder 로 되어있었다. 왜 String 을 더하지 않고 StringBuilder 를 사용하셨을까? 에서 출발했다. 특정 조건에 따라 분기하여 문자열을 생성해야 할 때, 어떻게 생성해야 할까? 2. StringBuilder가 탄생한 배경 String은 불변(immutable) 객체이다. 아래와 같이 2개의 String 객체가 존재할 때 두 문자열을 연결해야 하는 경우가 발생한다. String str1 = “aaaa123”;..