JAVA 29

Comparable 인터페이스와 Comparator 인터페이스

Comparable 인터페이스와 Comparator 인터페이스 - 정렬 대상이 되는 클래스가 구현해야하는 인터페이스 - Comparable은 compareTo() 메서드를 구현 매개변수와 객체 자신(this)를 비교 - Comparator는 compare() 메서드를 구현 두개의 매개 변수를 비교 TreeSet 생성자에 Comparator가 구현된 객체를 매개변수로 전달 TreeSet treeSet = new TreeSet(new Member()); - 일반적으로 Comparable을 더 많이 사용 - 이미 Comparable이 구현된 경우 Comparator를 이용하여 다른 정렬 방식을 정의 할 수 있다. ============ Member class ============ package treeset..

JAVA 2019.10.11

set 인터페이스

Iterator로 순회하기 Collection의 개체를 순회하는 인터페이스 -iterator() 메서드 호출 Iterator ir = memberArrayList.iterator(); -List는 순서기반의 인터페이스이지만, Set은 순서가 없음( 실행시에 계속해서 순서가 바뀜) -get(i)메서드가 제공되지 않아서 Iterator를 사용해서 순회하여 검색해야한다. -저장된 순서와 출력순서가 다를 수 있음 -아이디와 주민번호 사번 등 유일한 값이나 객체를 관리할 때 사용 -HashSet, TreeSet 클래스 Iterator 에 선언된 메서드 메서드 설명 boolean hasNext() 이후에 요소가 더 있는지 체크하는 메서드이며, 요소가 더 있다면 true를 반환합니다. E next() 다음에 있는 요..

JAVA 2019.10.10

Stack과 Queue

ArrayList를 stack과 queue 구현하기 - Stack(Last In First Out(FIFO): 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조 - 이미구현된 클래스가 제공됨 - ArrayList, LinkedList로 구현할 수 있음 - 게임에서 무르기, 최근자료 가져오기 등의 구현에 사용 Queue 구현하기 - First In First Out(FIFO) : 먼저 저장된 자료가 먼저 꺼내지는 자료구조 - 선착순, 대기열등을 구현할 때 가장 많이 사용되는 자료 구조 - ArrayList나 LinkedList 로 구현 할 수 있음 package collection; import java.util.ArrayList; class MyStack { private ArrayList arr..

JAVA 2019.10.09

List 인터페이스

List 인터페이스 Collection 하위 인터페이스 - 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 - 배열의 기능을 구현하기 위한 메서드가 선언됨 Ex) ArrayList,Vector,LinkedList ArrayList 와 Vector (객체 배열클래스) Vector 는 자바 2부터 제공된 클래스, 보편적으로는 ArrayList를 더 많이 사용 Vector은 멀티 쓰레드 프로그램에서 동기화를 지원 ->동기화(Synchronization) 두개의 쓰레드가 동시에 하나의 리소스에 접근 할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 함 capacity 와 size는 다른 의미 ArrayList 와 LinkedList - 둘다 자료의 순차적 구조를 구현한 클래스 - ..

JAVA 2019.10.08

제네릭

-제네릭 프로그래밍이란 -변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환 될 수 있도록 프로그래밍 방식 -실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적으로 프로그래밍을 할 수 있다는 장점이 있다. - 자바에서 사용햐는 여러가지 라이브러리를 구현 해놓은 것들의 집합체 - 컬렉션 프레임워크를 이해하는데 도움이 된다. - 자바 프로그램이 5버전부터 나온 프로그래밍 여러 참조형으로 대체 될 수 있는 부분을 하나의 문자로 표현 -ex GenericPrinter 제네릭 클래스 public class GenericPrinter{ private T material; public void setMaterial(T material){ this.material=mate..

JAVA 2019.10.07

컬렉션 프레임워크(Collection Framework)

컬렉션 프레임워크(Collection Framework) - 프로그램 구현에 필요한 자료구조(data structure)와 알고리즘을 구현해 놓은 라이브러리 - java.util 패키지에 구현되어 있음 - 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있다. - Colletion 인터페이스와 Map 인터페이스로 구성되어 있다. Colletion 인터페이스 - 하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메서드가 선언되어 있다. 하위에 List,Set 인터페이스가 있다. push(),pop(),dequeue()(빼는것),enqueue()(넣는것) hashtable 검색해보기 hash -> 검색을 위한 조건,검색을 위한 알고리즘 index= hash(key) -> 키를 주면 ..

JAVA 2019.10.06

String 클래스

String은 immutable - 한번 선언되거나 생성된 문자열을 변경할 수 없음(불변성) - String 클래스의 concat() 메서드 혹은"+"을 이용하여 String을 연결하는 경우 문자열은 새로 생성됨 package string; public class StringTest2 { public static void main(String[] args) { String java = new String("java"); String android = new String("android"); System.out.println(System.identityHashCode(java)); java =java.concat(android); System.out.println(java); //새로운 생성된 문자열을 가..

JAVA 2019.10.05

인터페이스(Interface)

인터페이스 - 모듈이 해야할 일을 정의 해놓은 것들의 집합 인터페이스로 무엇을 하는가? - 주로 설계할 때 사용 인터페이스를 구현한 클래스를 사용하게 되는데 우리가 사용 할 때 다양한 클래스를 사용 할때 다형성과 연관 인터페이스 역할 - 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 알려주는 명세 또는 약속 - 한 객체가 어떤 인터페이스의 타입이라 함은 그 인터 페이스의 메서드를 구현했다는 의미 - 클라이언트 프로그램은 실제 구현내용을 몰라도 인터페이스의 정의만 알면 그 객체를 사용 할 수 있음 - 인터페이스를 구현 해 놓은 다양한 객체를 사용함 - 다형성 ex) JDBC를 구현한 오라클, MSSQL 라이브러리 등 이미 구현 된 라이브러리가 인터페이스의 예시라고 생각하면 된다. ex) JDB..

JAVA 2019.10.02