컬렉션
-
[Java] 컬렉션 프레임워크 - 동기화, 병렬 처리CSE/Java 2015. 9. 20. 09:08
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. IntroList 컬렉션Set 컬렉션Map 컬렉션검색 기능을 강화시킨 컬렉션LIFO와 FIFO 컬렉션동기화 & 병렬처리를 위한 컬렉션 동기화된 컬렉션 컬렉션 프레임워크의 대부분의 클래스들은 싱글 스레드 환경에서 사용할 수 있도록 설계되었습니다. 그렇기 때문에 여러 스레드가 동시에 컬렉션에 접근한다면 의도하지 않게 요소가 변경될 수 있는 불안전한 상태가 됩니다. Vector와 Hashtable은 동기화된(synchronized) 메소드로 구성되어 있기 때문에 멀티 스레드 환경에서 안전하게 요소를 처리할 수 있지만, ArrayList, HashSet, HashMap은 동기화된 메소드로 구성되어 있지 않아 멀티 스레드 환경에서 안전하지 않습니다. 경우에 따라..
-
[Java] 컬렉션 프레임워크 - Map 컬렉션CSE/Java 2015. 9. 13. 16:30
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. Intro List 컬렉션 Set 컬렉션 Map 컬렉션 검색 기능을 강화시킨 컬렉션 LIFO와 FIFO 컬렉션 동기화 & 병렬처리를 위한 컬렉션 4. Map 컬렉션 Map 컬렉션은 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있습니다. 여기서 키와 값은 모두 객체입니다. 키는 중복될 수 없지만 값은 중복 저장될 수 있습니다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치됩니다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있습니다. 다음은 Map 컬렉션에서 공통적으로 사용 가능한 Map 인터페이..
-
[Java] 컬렉션 프레임워크 - Set 컬렉션CSE/Java 2015. 9. 13. 15:10
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. IntroList 컬렉션Set 컬렉션Map 컬렉션검색 기능을 강화시킨 컬렉션LIFO와 FIFO 컬렉션동기화 & 병렬처리를 위한 컬렉션 3. Set 컬렉션 List 컬렉션은 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지 않습니다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있습니다. Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있는데, 다음은 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스의 메소드들입니다. 인덱스로 관리하지 않기 때문에 인덱스를 파라미터로 갖는 메소드가 없습니다. 위 표에서 변수 타입과 리턴 타입이 E라는 타입 파라미터가 있는데, 이것은 Set 인터페..
-
[Java] 컬렉션 프레임워크 - ListCSE/Java 2015. 9. 12. 10:32
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. Intro List 컬렉션 Set 컬렉션 Map 컬렉션 검색 기능을 강화시킨 컬렉션 LIFO와 FIFO 컬렉션 동기화 & 병렬처리를 위한 컬렉션 2. List 컬렉션 List는 객체를 일렬로 늘어놓은 구조를 가지고 있습니다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공합니다. List 컬렉션은 객체 자체를 저장하는 것이 아니라 다음 그림과 같이 객체의 번지를 참조합니다. 동일한 객체를 중복 저장할 수 있는데, 이 경우 동일한 번지가 참조됩니다. null도 저장이 가능한데, 이 경우 해당 인덱스는 객체를 참조하지 않습니다. List 컬렉션에는 ArrayList, Vector, ..
-
[Java] 컬렉션 프레임워크 - IntroCSE/Java 2015. 9. 11. 11:52
컬렉션 프레임 워크는 여러 절로 구성되어 있습니다. IntroList 컬렉션Set 컬렉션Map 컬렉션검색 기능을 강화시킨 컬렉션LIFO와 FIFO 컬렉션동기화 & 병렬처리를 위한 컬렉션 1. 컬렉션 프레임워크 소개 애플리케이션을 개발하다 보면 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 사용하는 경우가 많습니다. 만약 10개의 Product 객체를 저장해 두고, 필요할 때마다 하나씩 꺼내서 이용한다고 가정해봅시다. 어떻게 Product 객체를 효율적으로 추가, 검색, 삭제할지 고민해야 되는데, 가장 간단한 방법은 배열을 사용하는 것입니다. 1234567891011Product[] array = new Product[10]; array[0] = new Product("Model1");array[1] =..