Programming43 [자바 기본] 컬렉션 프레임워크(List / Set / Map) Ⅲ Map 오늘은 Map을 보도록 하겠습니다.Map 컬렉션은 다른 것과 다르게 Key 와 Value로 구성이 되어 있습니다.이것이 가장 두드러진 특징 입니다. Map키(Key)와 값(Value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있습니다.여기서 키와 값은 모두 객체로 이루어져 있으며또한 키는 중복이 되면 안되지만 값은 중복 저장이 가능합니다.만약 기존의 저장된 키와 동일한 키로 저장한다면 기존의 값은 사라지고 새로운 값이 저장됩니다.키 값을 알면 간단하게 get( ) 메소드를 이용하여 키에 저장된 값을 가지고 올 수 있지만저장된 전체 객체를 대상으로 하나씩 객체를 가져 오고 싶다면 다른 메소드를 사용해야합니다. 1. keySet( ) 메소드모든 키를 Set 컬렉션으로 얻은 다음, 반복자를 .. 2017. 8. 22. [자바 기본] 스택과 큐(Stack and Queue) 스택과 큐 스택은 후입선출(LIFO : Last In First Out)은 말 그대로 나중에 넣은 객체가 먼저 빠져나가는 구조를 말합니다.반대로 큐는 선입선출(FIFO : First In First Out)은 먼저 넣은 객체가 먼저 빠져나오는 구조를 말합니다. Stack옆에 그림을 보면서 설명하겠습니다. 넣기 : push / 빼기 : pop 순서대로 1 / 2 / 3 을 push하고 pop 을 하게 된다면 당연히 3 / 2 / 1 순서대로 pop을 하게 됩니다.정말 간단한 개념입니다. 스택을 응용한 곳이 바로 JVM 메모리에 스택 영역이 있습니다. 개념에 대해 공부를 했으니 이제 우리가 이것을 사용해봐야합니다. 직접 간단한 스택 알고리즘을 한번 구현해보도록 하겠습니다. 출처 : 백준 알고리즘 문제 123.. 2017. 8. 18. [자바 기본] 컬렉션 프레임워크(List / Set / Map) Ⅱ 컬렉션 프레임워크 또 다른 컬렉션 프레임워크인 Set에 대해 공부해보겠습니다.List는 순서가 있었던 반면 Set은 순서가 없습니다. 또한 중복이 허용되지 않습니다.순서가 없이 객체가 들어가 있기 때문에 중복된 객체를 구분할 수 없게 되기 때문에중복 허용을 하지 않습니다.(인덱스가 없다는 말) Set인덱스로 관리를 하지 않기 때문에 순서가 없고 중복을 허용하지 않습니다.Set은 HashSet / LinkedHashSet / TreeSet 이렇게 3가지가 있습니다.Set은 순서가 없기 때문에 하나의 객체를 가지고 오기 위한 방법이다른 컬렉션 프레임워크와 다릅니다. 바로 Iterator를 사용해야합니다.사용하는 방법은 아래에서 확인하면 될 것같습니다. 1. HashSet객체들을 순서 없이 저장하고 객체는 중.. 2017. 8. 18. [자바 기본] 컬렉션 프레임워크(List / Set / Map) Ⅰ 컬렉션 프레임워크 일단 우리가 왜 컬렉션 프레임워크를 사용하는지 부터 알아야합니다.우리가 프로그래밍을 하다가 보면 계속해서 사용하는 것이 바로 배열입니다.이 배열은 여러 개의 객체를 저장하고 필요할 때 사용할 수 있도록 하는 방법 중 하나이며 가장 간단한 방법이라고 할 수 있습니다. 하지만 이 배열은 치명적인 단점이 있습니다.바로 배열을 생성할 때 그 크기가 결정됩니다. 이렇게 되면 사용하지 않는 인덱스들이 생겨나게 되고 객체를 효율적으로 관리, 추가, 삭제, 검색을 할 수 없게 됩니다.이 불편함을 없애고자 자바에서는 컬렉션 프레임워크를 제공해주고 있습니다. 위 그림은 어느 자바 책에 가면 다 있는 그림입니다.주요 인터페이스로는 List / Set / Map 이 있습니다.List / Set은 객체를 사용.. 2017. 8. 17. [디자인 패턴] Strategy Pattern Strategy Pattern 이 패턴은 네이버 정의에 의하면 알고리즘 군을 정의하고 같은 알고리즘을 각각 하나의 클래스로 캡술화한 다음, 필요할 때 서로 교환해서 사용 이 패턴을 처음 들었을 때 새로운 건 줄 알았으나 이미 알고 있는 내용이였다. 우리가 정말 간단한 게임을 개발한다고 가정하자 그럼 캐릭터가 무기를 가지고 있을 수 있다. 그 무기의 종류로는 검, 칼, 도끼, 손, 표창 등이 될 것이다. 이때 우리는 Weapon이라는 클래스를 만들어 각 캐릭터가 상속 받아 그 무기를 사용하고 싶다. 하지만 내 캐릭터는 오직 검만 사용할 수 있는데 다른 종류의 무기도 사용할 수 있게 되어 버린다. 상속을 받게 되면 이렇게 내가 원하지 않는 것 까지 상속 받게 되고 유지 보수를 할 때 관련된 모든 코드를 변경.. 2017. 6. 2. 이전 1 ··· 5 6 7 8 9 다음