1. 컬렉션이란?
객체를 저장하는 컨테이너입니다. 객체지향 언어는 객체의 형태로 사물을 구현하므로 여러 객체를 쉽게 저장할 수 있습니다. , 컬렉션은 가장 일반적으로 사용되는 방법 중 하나를 저장하는 데 사용됩니다.
컬렉션의 모습은 물건을 담는 것입니다. 컬렉션은 모든 유형의 객체를 저장할 수 있으며 길이가 가변적입니다. 프로그램에서는 얼마나 많은 객체가 필요한지 미리 알 수 없기 때문에 배열을 사용하여 객체를 담는 경우 길이를 정의하기 어렵고 컬렉션이 이 문제를 해결합니다.
2. 컬렉션과 배열의 차이점
배열과 컬렉션 클래스는 모두 컨테이너입니다.
배열의 길이는 고정되어 있고, 컬렉션의 길이는 가변적입니다. 기본 데이터 유형은 배열에 저장될 수 있으며 컬렉션은 객체만 저장할 수 있습니다. 배열에 저장된 데이터 유형은 단일이며 모든 유형의 객체가 컬렉션에 저장될 수 있습니다.
컬렉션 클래스의 특징
은 객체를 저장하는 데 사용되며 길이는 가변적이며 다양한 유형의 객체를 저장할 수 있습니다.
2.1. 배열의 단점
단일 저장 형태의 데이터 컨테이너, 복잡한 연산(한번 선언된 배열은 변경할 수 없음) CRUD
1.3. 컬렉션 분류
컬렉션의 역할
1: 컬렉션에 개체 추가
2: 컬렉션에서 개체 제거
3 : 컬렉션에서 개체 찾기
4: 추가, 삭제, 수정 및 확인을 통해 컬렉션에서 개체 수정
참고: 컬렉션과 배열은 개체 자체가 아닌 개체에 대한 참조를 저장합니다
Java 엔지니어는 서로 다른 컨테이너를 정의했지만 추출할 수 있는 몇 가지 공통점이 있습니다. 최종적으로 최상위 인터페이스가 추출되고 컬렉션 프레임워크가 형성됩니다. 학습 방법은 물론 가장 일반적이고 기본적인 동작이 포함된 최상위 수준부터 시작합니다. 특정 용도로 사용하려면 특정 용기를 선택해야 합니다. 왜냐면 연속적으로 추출되는 것들은 객체를 생성하지 못할 수도 있기 때문이고, 하위 클래스 객체에 대한 메서드도 더 많기 때문입니다. 그럼 컬렉션의 최상위 레벨은 무엇인가요? 컬렉션
컬렉션 프레임워크 시스템
컬렉션: 단일 열 컬렉션
목록: 반복할 수 있는 저장 순서가 있습니다.
배열 구현으로 인해 배열이 포함됩니다
容, 요소가 삭제되면 복사합니다. 너무 느립니다. 배열을 인덱스로 직접 검색할 수 있어
검색 속도가 빨라진다
LinkedList: 연결 리스트 구현, 빠른 추가 및 삭제, 느린 검색
포기하기만 하면 충분합니다 요소가 자신을 기억하게 하려면
삭제 시 이전 요소는 다음 요소
를 기억하고, 후자는 이전 요소를 기억하게 됩니다. >속도는 높지만 쿼리를 하나씩 순회해야 하므로 효율성이 떨어집니다
벡터: ArrayList와 원리는 동일하지만 스레드 안전하고 약간 덜 효율적입니다
ArrayList와 같은 방식이지만 스레드 보안 질문
질문이 있어서 효율성이 약간 떨어집니다
SET: 저장 순서 없음, 반복되지 않음
해시세트
사용 사용 사용 ' ‐ ‐ ‐ ‐ ‐ ‐ ‐ – – 끄기
HashMap
TreeMap
HashTable
LinkedHashMap
왜 이렇게 수집 컨테이너가 많은 걸까요? 컨테이너마다 데이터가 다르게 저장되기 때문이죠. 데이터 구조라고 합니다.
컬렉션과 배열은 객체에 대한 참조를 저장한다는 점에 유의하세요.
4. 언제 어떤 컬렉션을 사용할지