Comparator 는 implements 로 상속받아서 compara() 메소드를 구현해야 한다. 두 개의 매개변수를 비교하여 String s1 , String s2 s1과s2를 비교 TreeSet 생성자에 Comparator 가 구현된 객체를 매개변수로 전달한다. 이미 Comparable 이 구현된 경우 Comparator를 이용하여 다른 정렬 방식을 정의 할수있다. package collectiontreeset; import java.util.Comparator; import java.util.TreeSet; public class Member implements Comparator { // treeSet 을 사용하기 위한 Comparable 를 기반으로 private int memberID; pr..
분류 전체보기
TreeSet 클래스 객체의 정렬에 사용되는 클래스이다. 중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬한다. 내부적으로 이진 검색 트리(binary search tree) 로 구현되어 있다 이진 검색 트리에 자료가 저장 될 때 비교하여 저장될 위치를 정한다. 객체 비교를 위해 Comparable 이나 Comparator 인터페이스를 구현 해야 한다. 정렬에 대한 메소드를 구현해줘야 한다. package collectiontreeset; import java.util.TreeSet; public class TreeSetTest { public static void main(String[] args) { TreeSet treeSet = new TreeSet(); treeSet.add("홍길동..
.Set 인터페이스 ArrayList 에서는 순서가 정해져 있어서 get(i) 인덱스번호로 순회할수있는데 Set 인터페이스는 순서대로 지정할수없어서 있는걸 뺴내는 방식인데 Iterator 객체를 이용해서 사용할수있다. 모든 콜렉션을 iterator를 호출하면 Iterator이 반환할수있다. HashSet 생성해서 set.add() 할시 HashSet 인터페이스에 중복을 허용하지않는 메소드가 정의되어 있어서 추가해도 중복이 되지 않는다. 순서가 정해지지 않아서 iterator 순회해서 값을 가져온다. while 반복 동안 boolean 을 반환을 하는데 다음요소의 값이 있을때까지 next() 로 가져온다 현재 반환값이 String 이 되니까 String str 로 받을수있다. package set; imp..
package collection; import java.util.ArrayList; class MyStack { ArrayList stack = new ArrayList(); public void push() { stack.add("안녕"); } public String pop() { int len = stack.size(); if(len == 0) { System.out.println("스택이 비었습니다."); return null; } else { return stack.remove(len-1); // 마지막 에 넣은 값 뺴낸다. } } } public class StackTest { public static void main(String[] args) { MyStack stacklist = new..
Stack 과 Queue Stack 은 ArrayList 로 많이 이용한다. Last in First out : 맨 마지막에 추가된 요소가 먼저 꺼내지는 자료 구조 이미 구현된 클래스가 제공된다. ArrayList 나 LinkedList 로 구현 할수 있다. ( 게임에서 무르기 , 최근 자료 가져오기 ) 등에 구현된다. Queue 구현하기 First in First out : 먼저 저장된 자료가 먼저 꺼내지는 자료구조 선착순 , 대기열 등을 구현 할 때 가장 많이 사용되는 자료구조 이다. ArrayList 나 LinkedList로 구현 할수 있다. 맨 앞에서 빼고 뒤에서 추가된다 package collection; // 스택 구조 ArrayList 로 구현하기 import java.util.ArrayLi..
컬렉션 프레임 워크란? 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리 Java.util 패키지에 구현되어 있다. 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있다. Collection 인터페이스와 Map 인터페이스로 구성된다. Collection 인터페이스 하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메소드가 선언되어 있다. 하위에 List , Set 인터페이스가 있다. Map 인터페이스 쌍으로 이루어진 객체를 관리하는데 필요한 여러 메소드가 선언되어 있다. Map을 사용하는 객체는 key-value 쌍으로 되어 있고 key는 중복될수 없다. 배열은 연속된 선형 자료구조 ArrayList 논리적인 구조와 물리적인 구조가 동일하다. 뺴거나 추가하는데 ..