📆 2022년 11월 15일 화요일
💤💤💤
졸려서 환장하겠다!! 😵
하지만 Java 너무 어려워.. 공부 해야해.. 😭
이해 안되는 부분 계속 책 보면서 반복해서 작성하는 중..
비가 온다
오늘 강의에서 THIS IS JAVA 진도는 끝났다
혼자 하던 공부는 아직인데 ㅜㅜ
열심히 하자 아자아자❗️❗️❗️
오늘의 노동요는 이거...
몇년 전부터 느꼈지만 dosii 진짜 완전 목소리 내스타일이야
java.util 패키지
List
와Set
은Collection
인터페이스로 정의
Map
은 키와 값을 하나의 쌍으로 묶어서 관리
- 순서를 유지하고 저장
- 중복 저장 가능
ArrayList
,Vector
,LinkedList
- 순서를 유지하지 않고 저장
- 중복 저장 안됨
HashSet
,TreeSet
- 키와 값으로 구성된 엔트리 저장
- 키는 중복 저장 안됨
HashMap
,Hashtable
,TreeMap
,Properties
ArrayList
,Vector
,LinkedList
객체의 번지를 저장
→ 주어진 객체를 맨 끝에 추가
→ 주어진 인덱스에 객체를 추가
→ 주어진 인덱스의 객체를 새로운 객체로 바꿈
→ 주어진 객체가 저장되어 있는지 여부
→ 주어진 인덱스에 저장된 객체를 리턴
→ 컬렉션이 비어 있는지 조사
→ 저장되어 있는 전체 객체 수를 리턴
→ 저장된 모든 객체를 삭제
→ 주어진 인덱스에 저장된 객체를 삭제
→ 주어진 객체를 삭제
List 컬렉션에서 가장 많이 사용됨
일반 배열과의 차이점 → 제한 없이 객체를 추가할 수 있음
List<E> list = new ArrayList<E>(); // E에 지정된 타입의 객체만 저장
List<E> list = new ArrayList<>(); // E에 지정된 타입의 객체만 저장
List list = new ArrayList(); // 모든 타입의 객체를 저장
- 인덱스 0번부터 차례대로 저장됨
- 특정 인덱스의 객체를 제거하면 뒤에 오는 인덱스가 모두 1씩 당겨짐
- 특정 인덱스의 객체를 추가하면 뒤에 오는 인덱스가 모두 1씩 밀려남
🔗 Board.java
🔗 Board_ArrayListExample.java
ArrayList와 동일한 내부구조
Vector는 동기화된 메소드로 구성
List<E> list = new Vector<E>(); // E에 지정된 타입의 객체만 저장
List<E> list = new Vector<>(); // E에 지정된 타입의 객체만 저장
List list = new Vector(); // 모든 타입의 객체를 저장
- Vector는 동기화된 메소드로 구성
- 동시에 Vector() 메소드를 실행할수 없음
- 멀티 스레드 환경에서 안전하게 객체를 추가 & 삭제 가능
컬렉션 프레임워크가 제공하는 검색 기능을 강화시킨 컬렉션
TreeSet<E> treeSet = new TreeSet<E>();
TreeSet<E> treeSet = new TreeSet<>();
- 부모 노드의 객체와 비교해서 낮은 것은 왼쪽 자식 노드에 저장
- 부모 노드의 객체와 비교해서 높은 것은 오른쪽 자식 노드에 저장
- 제일 낮은 객체를 리턴
- 제일 높은 객체를 리턴
- 주어진 객체보다 바로 아래 객체를 리턴
- 주어진 객체보다 바로 위 객체를 리턴
- 주어진 객체와 동등한 객체가 있으면 리턴
- 없다면 주어진 객체의 바로 아래의 객체를 리턴
- 주어진 객체와 동등한 객체가 있으면 리턴
- 없다면 주어진 객체의 바로 위의 객체를 리턴
- 제일 낮은 객체를 꺼내오고 컬렉션에서 제거함
- 제일 높은 객체를 꺼내오고 컬렉션에서 제거함
- 내림차순으로 정렬된 Iterator를 리턴
- 내림차순으로 정렬된 NavigableSet을 리턴
- 주어진 객체보다 낮은 객체들을 NavigableSet으로 리턴
- 주어진 객체 포함 여부는 두 번째 매개값에 따라 달라짐
- 주어진 객체보다 높은 객체들을 NavigableSet으로 리턴
- 주어진 객체 포함 여부는 두 번째 매개값에 따라 달라짐
- 시작과 끝으로 주어진 객체 사이의 객체들을 NavigableSet으로 리턴
- 시작과 끝 객체의 포함 여부는 두 번째, 네 번째 매개값에 따라 달라짐