21.01.15-38일차

🤶 컬렉션 프리임웍(Collections Framework)


🎅 스택과 큐 (Stack & Queue)

👉 스택(stack) : LIFO구조. 마지막에 저장된 것을 제일 먼저 꺼내게 된다.
-> 수식계산, 수식괄호검사, 워드프로세서의 undo/redo, 웹브라우저의 앞으로/ 뒤로...

👉 큐(queue) : FIFO구조. 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다.
-> 최근사용문서, 인쇄작업 대기목록, 버퍼(buffer), 스케쥴링...


🎅 Iterator, ListIterator, Enumeration

  • 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스
  • Enumeration은 Iterator의 구버전
  • ListIterator는 Iterator의 접근성을 향상시킨 것(단방향 -> 양방향)(Enumeration 인터페이스의 메서드)

🎅 Iterator

  • 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
  • 컬렉션에 iterator()을 호출해서 iterator를 구현한 객체를 얻어서 사용

🎅 Map과 Iterator

  • Map에는 iterator()가 없다.
    (keySet(), entrySet(), values()를 호출해야됨)
  • Map은 Collection의 자손X
ex)
Map map = new HashMap();
...
Iterator it = map.entrySet().iterator();

🎅 Arrays

  • 배열을 다루기 편리한 메서드(static) 제공
  1. 배열의 출력 - toString()2. 배열의 복사 - copyOf(), copyOfRange()3. 배열 채우기 - fill(), setAll()4. 배열의 정렬과 검색 - sort(), binarySearch()5. 다차원 배열의 출력 - deepToString()6. 다차원 배열의 비교 - deepEquals() 7. 배열을 List로 변환 - asList(Object...a)

🎅 Comparator & Comparable

  • 객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스
    Comparable - 기본 정렬기준을 구현하는데 사용
    Comparator - 기본 정렬기준 외에 다른 기준으로 정렬하고자 할때 사용
public interface Comparator {
	int compare(Object o1, Object o2); // o1, o2 두 객체를 비교
    	boolean equals(Object obj); // equals를 오버라이딩하라는 뜻
}
public interface Comparable{
	int compareTo(Object o); // 주어진 객체(o)를 자신과 비교
}
같으면 0, 오른쪽이 크면 음수(-), 작으면 양수(+)


🤶 출처

자바의 정석 책 & 유튜브

좋은 웹페이지 즐겨찾기