일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바의 정석 기초편 ch6
- 스프링 mvc2 - 검증
- 자바 고급2편 - io
- 2024 정보처리기사 수제비 실기
- 스프링 고급 - 스프링 aop
- 자바로 계산기 만들기
- 람다
- 자바로 키오스크 만들기
- 자바의 정석 기초편 ch14
- 자바 중급2편 - 컬렉션 프레임워크
- @Aspect
- 데이터 접근 기술
- 스프링 입문(무료)
- 스프링 mvc2 - 타임리프
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch5
- 스프링 트랜잭션
- 자바 고급2편 - 네트워크 프로그램
- 자바 기초
- 자바 중급1편 - 날짜와 시간
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch12
- Today
- Total
목록자바 로드맵 강의/중급 2 - 컬렉션 프레임워크 (10)
개발공부기록

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 순회1) 직접 구현하는 Iterable, Iterator(1) 순회순회라는 단어는 여러 곳을 돌아다닌다는 뜻인데, 자료 구조에서의 순회는 자료 구조에 들어있는 데이터를 차례대로 접근해서 처리하는 것을 뜻함다양한 자료 구조는 각각의 자료 구조마다 데이터를 접근하는 방법이 모두 다름배열 리스트는 index를 0부터 size까지 차례로 증가하면서 순회해야 하고, 연결 리스트는 Node.next를 사용해서 node의 끝이 null일 때 까지 순회해야 하는 것처럼 각 자료 구조의 순회 방법이 다름그렇기 때문에 여러 자료구조를 다루기 위해서는 각 자료 구조의 순회 방법을 배워야하고,..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 컬렉션 프레임워크 - Map1) 소개(1) MapMap은 키-값의 쌍을 저장하는 자료구조임키는 맵 내에서 유일해야 하며 키를 통해 값을 빠르게 검색할 수 있음키는 중복될 수 없지만 값은 중복될 수 있으며 Map은 순서를 유지하지 않음HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체를 제공하며 각 구현체마다 다른 특성과 성능 특징을 가지고 있으며 이 중에서 HashMap을 가장 많이 사용함(2) Map 인터페이스의 주요 메서드메서드설명put(K key, V value)지정된 키와 값을 맵에 저장(같은 키가 있으면 값을 변경)putAll(Map..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 자바가 제공하는 Set1) HashSet, LinkedHashSet(1) 컬렉션 프레임워크 - Set 인터페이스java.util 패키지의 컬렉션 프레임워크에 속하는 인터페이스 중 하나Set 인터페이스는 중복을 허용하지 않는 유일한 요소의 집합을 나타내어 어떤 요소도 같은 Set 내에 두 번 이상 나타날 수 없음Set은 수학적 집합 개념을 구현한 것으로 순서를 보장하지 않고 특정 요소가 집합에 있는지 여부를 확인하는데 최적화 되어있음구현체로는 HashSet, LinkedHashSet, TreeSet 등이 있으며 각 클래스는 각각의 특성을 가지고 있음(2) Set 인터페이스의..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 직접 구현하는 Set1 - MyHashSetV1(1) MyHashSetV0 성능 개선이전에 구현한 MyHashSetV0에서 만들었던 add(), contains() 메서드는 대부분의 상황에서 O(n)의 성능을 보여주므로 상당히 느림특히 값을 추가할 때 Set은 중복을 허용하지 않기 때문에 전체 데이터를 확인하여 중복값이 있는지 검토하는 과정이 필요하기 때문에 첫 번째로 값을 입력할 때를 제외하고는 전부 O(n)의 성능을 보임물론 데이터를 찾을 때도 모두 순서대로 전체 데이터를 확인해야하므로 평균 성능인 O(n)으로 좋지 않음이전 시간에 배운 해시 인덱스를 사용하는 해시 알..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. List vs Set1) 리스트(List) vs 세트(Set)(1) 리스트(List) - 복습정의: 리스트는 순차적인 컬렉션으로 요소들은 특정 순서를 가지며, 같은 요소가 여러 번 나타날 수 있음특징순서 유지: 리스트에 추가된 요소는 특정한 순서를 유지하며 순서는 요소가 추가된 순서를 반영할 수 있음중복 허용: 리스트는 동일한 값이나 객체의 중복을 허용하므로 같은 숫자나 문자열을 리스트 안에 여러번 저장할 수 있음인덱스 접근: 리스트의 각 요소는 인덱스를 통해 접근할 수 있으며 보통 0부터 시작함용도: 순서가 중요하거나 중복된 요소를 허용해야 하는 경우에 주로 사용됨(2)..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 리스트 추상화1) 인터페이스 도입(1) List 자료 구조순서가 있고 중복을 허용하는 자료 구조를 리스트(List)라고 함이전강의에 만든 MyArrayList와 MyLinkedList는 내부 구현만 다를 뿐 같은 기능을 제공하는 리스트임내부 구현이 다르기 때문에 상황에 따라 성능은 달라질 수 있지만 사용자 입장에서 보면 같은 기능을 제공함이 둘의 공통 기능을 인터페이스로 뽑아서 추상화하면 다형성을 활용한 다양한 이득을 얻을 수 있게 됨(2) MyListMyList라는 제네릭 인터페이스를 생성하고, MyArrayList와 MyLinkedList의 공통인 메서드들을 추상메서드..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 노드와 연결1) 노드와 연결(1) 설명배열 리스트는 데이터가 얼마나 추가될지 예측할 수 없는 경우 나머지 공간의 메모리가 낭비되는 것과 앞이나 중간에 데이터를 추가, 삭제할 때 성능이 좋지 않은 문제가 있음낭비되는 메모리 없이 딱 필요한 만큼만 메모리를 확보해서 사용하고, 앞이나 중간에 데이터를 추가하거나 삭제할 때도 효율적인 자료구조가 있는데 바로 노드를 만들고 각 노드를 연결하는 방식임(2-1) 노드 클래스노드 클래스는 내부에 저장할 데이터인 item과 다음으로 연결한 노드의 참조인 next를 가짐이 노드 클래스를 사용해서 데이터 A, B, C를 순서대로 연결하는 것을..

출처 : 인프런 - 김영한의 실전 자바 - 중급2편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 배열의 특징1) 배열과 인덱스(1) ArrayMain1배열처럼 여러 데이터(자료)를 구조화해서 다루는 것을 자료 구조라 하는데, 자바는 배열뿐만 아니라 컬렉션 프레임워크라는 이름으로 다양한 자료 구조를 제공함여기서 표시한 O(1)는 빅오 표기법이라고 하는데 바로 다음시간에 자세히 설명하며 O(1)이라고 하면 한번에 찾을 수 있다는 뜻임입력, 변경, 조회는 인덱스를 통해 한번에 바로 찾을 수 있어 매우 빠르지만 검색인 경우 하나씩 다 비교해가면서 검색 대상과 맞을 때까지 비교해야하기 때문에 느림package collection.array;public class ArrayMa..