Collection 인터페이스 Collection 하위에 List 와 set이 있는데 List 는 add api대로 쓰고 HashSet은 중복인지 아닌지 알기 위해서 equals 랑 hashCode를 구현했고 TreeSet은 정렬하기 위해서 Comparable , Comparator 를 구현했다 Map은 key 와 value 로 되어있기 때문에 Put 이나 get , containsKey , containsValue 등을 썻고 key는 중복될수없고 유일하다 TreeMap 은 Tree로 인해서 정렬되는데 정렬되는 기준은 key 이다.
전체 글
안녕하세요Map 인터페이스 쌍으로 구현된 쌍의 자료구조 이다. Key와 value 를 가지고 있는데 key는 유일해야 한다. 자료를 쌍으로 pari 로 관리할 때 종종 있다. 이해하고 활용해볼수있다. Map 인터페이스 검색을 위한 자료구조 , key을 이용하여 값을 저장하거나 검색 , 삭제 할 때 사용하면 편리하다. 내부적으로 hash 방식으로 구현된다. Index = hash(key) // index 는 저장위치 Key가 되는 객체는 객체의 유일성함의 여부를 알기 위해 equals() 와 hashCode() 메소드를 재정의 해야 한다. HashMap 클래스 Map 인터페이스를 구현한 클래스 중 가장 일반적으로 사용하는 클래스 HashTable 클래스는 자바 2 부터 제공된 클래스로 Vector 처럼 동기화를 제..
package set; public class Member { private int memberID; private String memberName; public Member() {} public Member(int memberID , String memberName) { this.memberID = memberID; this.memberName = memberName; } public int getMemberID() { return memberID; } public void setMemberID(int memberID) { this.memberID = memberID; } public String getMemberName() { return memberName; } public void setMembe..
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 논리적인 구조와 물리적인 구조가 동일하다. 뺴거나 추가하는데 ..