본문 바로가기

Language8

[Java]자바 트리셋(TreeSet) 완벽한 사용법 & 예제 읽기 전 Set을 이해했다는 가정하에 진행됩니다 트리 셋이란 "이진 검색 트리"라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이다 이진 탐색 트리의 특징 모든 노드는 최대 2개의 자식 노드를 가질 수 있다 왼쪽 자식의 노드의 값은 부모의 노드보다 작고 오른쪽 자식 노드의 값은 부모의 노트보다 값이 커야 된다 노드의 추가 삭제에 시간이 걸린다 범위 검색과 정렬에 유리하다 중복된 값은 저장하지 못한다 노드 설명 이진 탐색 트리의 노드를 코드로 표현하면 다음과 같다 class TreeNode { TreeNode left Object element; TreeNode right } 이 코드로 이해가 가시면 좋겠지만 이해가 안 가시는 분들은 다음 그림은 보고 제가 설명드리겠습니다 7 5 10의 숫자가 주어졌.. 2020. 9. 14.
[Java]자바 해쉬셋(HashSet) 사용법, 정리와 예제 생성자와 메서드 해쉬 셋에서는 HashSet() HashSet(Collection c) HashSet(int initialCapacity) HashSet(int initialCapacity, float loadFactor) 위와 같은 생성자가 있다 initialCapacity에 초기 용량 loadFactor은 언제 길이를 더 늘릴지 정하는 겁니다 loadFactor에 0.5를 적으면 초기 용량의 50%가 차 있을 때 2배 길이를 늘리는 겁니다 특징 순서가 없다 중복도 허용하지 않는다 순서는 list를 이용하면된다 쭉 읽어보시고 LinkedList로 바꾸는 방법이 있다 그걸참고합시다 List의 특징은 중복이가능하고 순서가 있다 추가 boolean add(Object o) //추가 boolean addAll.. 2020. 9. 13.
[Java]자바 Comparator로 객체정렬 기준정하기 사용법과 예제 Comparator Comparator의 예로 과일을 예로 들어보겠다 public class Fruit { String name; int Sale; public Fruit(String name, int price) { this.name = name; this.Sale = Sale; } int getPrice() { return Sale; } } 과일은 이름과 가격으로 정해져 있다 과일 이름과 가격은 강제적으로 설정을 해야 된다 Comparator MaxPriceComparator = new Comparator() { @Override public int compare(Fruit o1, Fruit o2) { return o2.getPrice() - o1.getPrice(); } }; 커스텀마이즈 정렬을 만.. 2020. 9. 13.
[Java] 자바 인터페이스 (interface) 코드로 이해하고 정리 인터페이스란 구현된 것이없고 밑그림만 있는 설계도이다. 일반 메서드 또는 맴버 변수를 가질수 없고 추상메서드와 상수만 가질수있다. 인터페이스는 표준, 약속, 규칙이다. 표준, 약속, 규칙을 이해하자 만약 모든 은행이 가지고 있는 돈이 어떤은행을 사우디아라비아 돈을 가지고있고 등등 각각 다르다 그래서 그 돈을 표준을 하기위해 인터페이스를 아래와 같이 인터페이스를 만든다 public interface KoreanBank { void BankName(); KrMoney HasMoney(); } 만약 A은행은 미국 돈을 저장하고 있다 합시다 A은행은 한국에 있는데 A은행이 가지고 있는돈을 한국은행에게 krMoney 클래스로 보내야 한다 할때 A은행은 krMoney로 바꿔서 내야한다. 다른은행도 돈을 krMone.. 2020. 9. 13.