# Collection

Java Collection - stream API
Java 8버전부터 Collection 인터페이스에 추가된 APIstream은 Collection 객체를 스트림으로 변환하여 데이터를 처리하는 다양한 연산을 수행하도록 도와주며 컬렉션, 배열 등의 데이터 소스로부터 요소를 추출하고 처리하는 기능을 제공한다. Stream
[C#] IReadOnlyCollection
ICollection 인터페이스를 통해서 컨테이너 클래스에 대한 기본 틀을 제공받는다. 그렇다면 읽기전용 컨테이너를 만들고 싶을 땐 어떻게 해야 할까? 그에 대한 대답이 바로 IReadOnlyCollection 이다. ICollection 인터페이스와 비교 해보았을 때
[C#] ICollection Interface
프로그래밍을 하다보면 컨테이너 객체를 필수적으로 사용하게 된다. C++의 std::vector, Java의 ArrayList 와 같은 단순한 리스트 컨테이너가 있으며, C먼저, ICollection 인터페이스의 코드부터 살펴보도록 하자.앞서 언급했듯이, 컨테이너라면 가
Arrays VS. Collection 정렬 속도 실험
알고리즘 문제를 풀다가 나와 거의 동일한 방법으로 문제를 해결한 코드를 봤다.나는 매개변수로 나온 Arrays 에서 바로 정렬을 했지만,그 분은 ArrayList 로 변경 후 Collection 으로 정렬을 했었다.효율이 어떻게 나올지 궁금해 복사해서 재출해보니 내 코
Collection Class
컬렉션 채우기, 복사, 정렬, 검색 - fill(), copy(), sort(), binarySearch() 등컬렉션의 동기화 - synchronizedXXX(객체) Collection List Set Map SortedSet SortedMap과 같은 클래스 넣어 사용
HashMap
Map 인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장Map인터페이스를 구현한 대표적인 컬렉션 클래스순서를 유지하려면, LinkedHashMap클래스를 사용하면 된다.범위 검색과 정렬에 유리한 컬렉션 클래스HashMap보다 데이터 추가, 삭제에 시간이 더 걸림 (비
Stack
사전적 의미로는 쌓다, 더미 라는 뜻을 갖고 있는 Stack 은상자에 물건을 쌓아 넣듯이 data 를 쌓는 구조라고 할 수 있다.Stack 의 특징은 가장 먼저 넣은 값이 가장 나중에 나온다는 것이다.LIFO (Last In First Out) 구조다른 제네릭을 사용하

ArrayList, HashSet, TreeSet, HashMap
컬렉션 프레임워크 중 주요 클래스인 ArrayList, HashSet, TreeSet, HashMap 에 대해서 학습해보았다. 컬렉션 프레임워크는 자료구조를 다루는 방법이므로 꼭 알아두자. ArrayList는 List 인터페이스를 구현한 클래스로 배열과 동일하게 연속된

코틀린 컬렉션
코틀린 표준 라이브러리는 기본 컬렉션 타입인 List, Set, Map을 제공합니다.또한 컬렉션은 두가지 종류로 나뉩니다.불변 컬렉션(Immutable) : 읽기 전용 컬렉션가변 컬렉션(Mutable) : 삽입, 수정, 삭제와 같은 쓰기 작업이 가능한 컬렉션 컬렉션을
TreeSet
이진 탐색 트리(binary search tree)로 구현, 범위 탐색과 정렬에 유리.이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖음최초의 요소를 Root라고 한다.이진 트리란 각 노드가 부모자식 관계로 연결되어 있는걸 뜻함각 요소(node)가 나무(tree)형
HashSet
List : 순서 O, 중복 OSet 인터페이스를 구현한 클래스 : HashSet, SortedSet, TreeSetHashSet Set 인터페이스를 구현한 대표적인 클래스순서를 유지하려면, LinkedHashSet 클래스를 사용하면 된다.TreeSet범위 검색과 정렬
Comparator & Comparable
객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스Comparable 기본(default) 정렬 기준을 구현하는데 사용.Comparator 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용예시로 Integer Class에 구현된 compareTo() 메
Arrays
배열의 출력 - toString()배열의 복사 - copyOf(), copyOfRange() // 새로운 배열 생성해서 반환배열 채우기 - fill(), setAll()배열의 정렬과 검색 - sort(), binarySearch()binarySearch() 이진탐색은
Iterator, ListIterator, Enumeration
컬렉션에 저장된 데이터를 접근(읽어오기)하는데 사용되는 인터페이스Enumeration은 Iterator의 구버전ListIterator는 Iterator의 접근성을 향상시킨 것 (단반향 -> 양방향)왜 사용하는가? 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
Iterator
Colletion framework 에 포함되어있는 interface 이다.배열 또는 배열과 유사한 자료구조를 순회하는 기능을 제공한다.ex ) Set , List …반복문과 다르게 index 를 순회하면서 index 를 제거할 수 있다.Colletion framewo
Set 과 List
🔗 Collections Framework 의 구성Collection 을 상속하고 있는 interface 임 (Class 아님)Setindex 값 중복 불가index 순서가 보장되지 않음List \- index 값 중복 가능 \- add 한 순서대로 값이
Hash Map
map 은 기본적으로 key 와 value 2개의 container를 가지게 된다.예를 들어 key 값으로 "one" / value 에 1 을 넣을경우intput : "one" 을 할경우output : 1 이 출력된다. 💡 ket 값은 중복이 불가하지만 value
Stack & Queue
스택 : LIFO 구조, 마지막에 저장된 것을 제일 먼저 꺼내게 된다. (Last In First Out), 밑이 막힌 상자push : 저장pop : 추출스택을 구현하려면 배열, 링크드 리스트 모두 사용 가능하나배열이 가장 효율적이다.배열은 순차적 추가 삭제를 하기
LinkedList
먼저 배열의 장단점을 알아보자장점 : 배열은 구조가 간단하고 데이터를 읽는데 걸리는 시간(접근시간, access time)이 짧다.단점 1 : 크기를 변경하기가 어렵다.크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함.더 큰 배열 생성 2. 복사
ArrayList
ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일ArrayList와 달리 Vector는 자체적으로 동기화처리가 되어있다.List 인터페이스를 구현하므로, 저장순서가 유지되고, 중복을 허용한다.데이터의 저장공간으로 배열을 사용한다. (배열