내부클래스 람다식에서는 익명클래스가 사용된다. 내부클래스란 ? 클래스 내부에 구현한 클래스 (중첩된 클래스) 클래스 내부에서 사용하기 위해 선언하고 구현하는 클래스이다. 주로 외부 클래스 생성자에서 내부 클래스를 생성한다. 클래스 외부에서 쓸일이 없고 내부에서만 쓰일거면 내부에서 만든다 나중에 익명내부 클래스(이름이없는) 를 배울 때 종종쓴다. package innerclass; class OutClass { // 외부클래스 private int num = 10; // 멤버 변수 private static int sNum = 20; // 정적 변수 private InClass inClass; // 내부클래스 선언 public OutClass() { inClass = new InClass(); // 주로 ..
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("홍길동..