목록2025/06 (40)
컴퓨터공학 💻 도서관📚
2025년 6월 기준 겁나 헷갈려서 정리함 Heap (힙) : 트리 (힙 조건을 만족하는 완전 이진 트리) Hash (해쉬) : 딕션너리 Set : 집합
TreeSet 클래스 활용하기객체의 정렬에 사용하는 클래스Set 인터페이스를 구현하여 중복을 허용하지 않고, 오름차순이나 내림차순으로 객체를 정렬할 수 있음내부적으로 이진검색트리(binary search tree)로 구현됨이진검색트리에 저장하기 위해 각 객체를 비교해야 함비교 대상이 되는 객체에 Comparable이나 Comparator 인터페이스를 구현 해야 TreeSet에 추가 될 수 있음String, Integer등 JDK의 많은 클래스들이 이미 Comparable이 구현되어 있음Comparable은 java-lang 패키지 안에 있고 , Comparator은 java-util 패키지 안에 있다. String 클래스는 이미 Comprable 인터페이스를 구현했기 때문에 문자열이 오름차순으로 ..
Set 인터페이스를 활용해보자 HashSet 클래스 (Hash: 딕션너리 , Set: 집합) * Set 인터페이스를 구현한 클래스 (집합, 튜플) * 객체(멤버)의 중복 여부를 체크하기 위해 인스턴스의 동일성을 확인해야 함 (집합이니까 중복 x 여서 중복 여부를 체크해야 함) * 동일성 구현을 위해 필요에 따라 equals()와 hashCode()메서드를 재정의함 * HashSet에 데이터가 add될 때 안에서 add되는 객체에 대해 equals() 메서드와 hashCode() 메서드를 체크한다. 그래서 이전에 있던 것과 동일하면 add를 하지 않는다. equals 메서드 : 두 인스턴스의 주소를 비교하는 메서드 hashCode 메서드 : 인스..
Iterator : Collection 요소를 순회하는 친구 컬렉션에서 상속받은, 컬렉션을 구현한 모든 클래스에서 Iterator 함수를 호출하면 Iterator 객체가 반환이 된다Iterator 가 가지고 있는 메서드가 몇 개 안 되는데 그 중에서 우리가 주로 많이 쓰는 건 hasNext() 와 Next() 이다.JDK Document를 보면은 ArrayList의 메서드에 Iterator 메서드가 있다.Iterator 메서드는 모든 컬렉션에 적용이 된다.Iterator를 부르면 Iterator라는 객체를 반환해 주는데 그걸 이용해서 순회를 할 수 있다. 요소의 순회란?컬렉션 프레임워크에 저장된 요소들을 하나씩 차례로 참조하는것순서가 있는 List인터페이스의 경우는 Iterator를 ..
List 인터페이스를 활용해보자 JDK 클래스들을 볼 때 Document 를 보면서 각 클래스, 메서드의 반환형, 매개변수, 기능들이 어떻게 되어 있는지 봐야한다. Document에서 ArrayList 의 메서드들을 볼 수 있는데 각 메서드들은 컬렉션 쪽에서 선언된 메서드들도 있고 리스트 쪽에서 선언된 메서드들고 있다. 처음에 ArrayList가 만들어질 때 특별히 내가 몇 개라고 지정을 안 하면 10개짜리 object Array 를 만들어준다size : 현재 채워져 있는 크기 , capacity : 전체 크기 코딩할 때 배열 전체 크기가 10개이고 10개를 다 쓰고 있는데 모르고 또 추가할 수 있다그래서 항상 add하기 전에 ensureCapacity() 메서드가 체크가 돼..
Collection 프레임워크 안에 있는 HashSet은 클래스이고 Set은 인터페이스이고 Collection도 인터페이스이다. Collection 프레임워크 : 자료구조를 다루기 위한 인터페이스 + 구현 클래스 + 유틸리티(도움) 클래스를 모두 포함하는 큰 구조, 틀이다. 유틸리티(도움) 클래스 : 인스턴스를 만들지 않고 사용하는 정적(static) 메서드들로 구성된 클래스 특정 기능을 편리하게 제공하기 위한 도우미 역할을 한다 Collections 는 유틸리티 클래스이고 Collection 은 인터페이스이다. 컬렉션 프레임워크프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리java.util..
제네릭 메서드자료형 매개변수(T, V)를 메서드의 매개변수나 반환 값으로 가지는 메서드자료형 매개 변수가 하나 이상인 경우도 있음제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용 할 수 있음public 반환형 메서드 이름(자료형 매개변수.....) { }제네릭 메서드의 활용 예 두 점(top, bottom)을 기준으로 사각형을 만들 때 사각형의 너비를 구하는 메서드를 만들어 보자두 점은 정수인 경우도 있고, 실수인 경우도 있으므로 제네릭 타입을 사용하여 구현한다.public class Point { // 제네릭 클래스 T x; // x 는 T 자료형 V y; // y 는 V 자료형 Point(T x, V y){ this.x..