본문 바로가기

Java

(130)
[Java] Stack - Queue Queue 인터페이스 - 저장하는 순서대로 출력되는 클래스 FIFO(First In First Out) 또는 LILO(Last In Last Out) - 보통 Queue인터페이스를 implements한 LinkedList를 사용해서 인스턴스 생성 Stack 클래스 - 저장한 순서와 반대로 출력되는 클래스 FILO(First in Last Out) 또는 LIFO(Last In First Out) - 생성자 Stack() : 빈 스택 인스턴스 생성 - 주요 메소드 리턴 메소드명 및 설명 boolean empty() : 현재 스택이 비었는지 여부 E peek() : 스택의 가장 위에 있는 데이터 리턴 E pop() : 스택의 가장 위에 있는 데이터 리턴(스택에서는 삭제) E push(E item) : 스택에 ..
[Java] LinkedList LinkedList 클래스 - 사용하는 데이터의 개수가 자주 변경되는 경우 ArrayList보다 효율적인 동작을 합니다. 단, 데이터의 개수가 많으면 접근시간이 오래 걸립니다. - 생성자 LinkedList() : LinkedList 생성 LinkedList(Collection
[Java] ArrayList Collection 인터페이스 - List와 Set의 상위인터페이스로 컬렉션의 기본적인 기능들을 모아놓은 인터페이스 - 제네릭으로 저장할 데이터의 자료형을 지정할 수 있으며, 생략시 Object로 설정됩니다. - 주요 메소드 리턴 / 메소드명 및 설명 boolean / add(E e) : 지정한 데이터(객체 : e)를 추가 boolean / addAll(Collection c) : 지정한 컬렉션(c)이 존재하는지 여부 boolean / equals(Object o) : 동일한 컬렉션인지 여부 boolean / isEmpty() : 컬렉션이 비어있는지 여부 Iterator / iterator() : 컬렉션의 iterator를 리턴 boolean / remove(Object o) : 지정된 객체(o)를 삭제..
[Java] 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크(Collection Framework) - 여러 데이터를 모아 놓은 데이터 그룹에 대한 클래스들을 프로그래밍하는 표준화된 방법 - 컬렉션(List, Set)과 맵(Map)이 속한다. - jdk1.2 이전까지는 Vector, Hashtable, Properties 등의 클래스를 이용하여 작업하였으나 jdk1.2에서부터 표준화된 컬렉션 프레임워크를 사용하게 되었습니다. - 컬렉션 프레임워크는 기본적으로 Object형 데이터를 저장하는 클래스입니다. (제네릭을 지정하지 않으면 Object로 저장되며, 데이터를 사용할 때에도 Object형으로써 사용해야합니다.) (Object클래스의 메소드나 오버라이딩된 메소드만 사용가능합니다.) 제네릭을 지정하면 뽑아온 데이터가 Object형이라도 원하는 자..
[Java] 제네릭(Generic) 심화 제네릭을 이용하여 매개변수를 받으면 기본적으로 Object클래스의 메소드만을 사용할 수 있으며, 원래의 메소드를 사용하려면 형변환 후 사용해야합니다. . . interface Simple{ public void showYourName(); } class UpperClass{ public void showYourClass(){ System.out.println("Upperclass"); } } class Aa extends UpperClass implements Simple{ public void showYourName(){ System.out.println("ClassAa"); } } class Bb extends UpperClass implements Simple{ public void showYour..
[Java] 제네릭 메소드 class Aa{ public String toString() { return "Class Aa"; } } class Bb{ public String toString() { return "Class Bb"; } } class InstanceShower{ int showCnt = 0; public void showInstType(T inst){ // 메소드 호출시 T에 대한 자료형을 지정하면 매개변수의 T를 지정하게 됨 System.out.println(inst); showCnt++; } void showPrintCnt(){ System.out.println("show count : " + showCnt); } } class GenericMeathod{ public static void main(Strin..
[Java] 제네릭 클래스 - 과일상자 실습 제네릭(Generic) - jdk1.5에서 추가된 문법으로 상당수의 객체에서 사용하고 있는 개념 - 제네릭을 사용하면 사용하고자 하는 자료형을 클래스에서 미리 지정하지 않고, 인스턴스 생성시 원하는 자료형을 지정할 수 있습니다. . . class Orange{ int sugar; public Orange(int s){ sugar = s; } public void showSugar(){ System.out.println("당도 : " + sugar); } } class FruitBox{ // 과일 객체를 담는 클래스 Object item; // 과일상자에 담길 과일로서 한 가지가 아닌 여러 가지를 담기 위해 Object로 선언 public void store(Object item){ this.item = ..
[Java] synchronized thread 실습 신문 기자와 독자가 존재하고 기자가 기사를 쓰면 독자가 신문기사를 읽을 수 있게 한다. 각각 클래스에 thread를 상속받아 기사를 받자마자 읽을 수 있게 한다. . . class NewsPaper{ String todayNews; public void setTodayNews(String news){ todayNews = news; } public String getTodayNews() { return todayNews; } } class NewsWriter extends Thread{ NewsPaper paper; public NewsWriter(NewsPaper paper){ this.paper = paper; } public void run(){ paper.setTodayNews("오늘 덥다.");..