.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 논리적인 구조와 물리적인 구조가 동일하다. 뺴거나 추가하는데 ..
package generic2; public class Plastic extends Material { public String toString() { return "플라스틱입니다"; } @Override public void doPrinting() { System.out.println("플라스틱으로 만듬 "); } } package generic2; public class Powder extends Material{ public String toString() { return "파우더 입니다."; } @Override public void doPrinting() { System.out.println("파우더로 만듬 "); } } package generic2; public class GenericPri..
제네릭 프로그래밍 자바 컬렉션 프레임워크는 자바에서 여러 가지 자료구조와 알고리즘을 구현해 놓은 라이브러리이다. 지금까지 ArrayList를 써봤는데 배열이나LinkedList를 구현해 놓은 종합 라이브러리이다. 제네릭 프로그래밍이 컬렉션 프로그래밍에 다 적용이 되어 있다. C++의 템플릿이랑 비슷한 프로그래밍 방식이다. 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환될 수 있도록 프로그래밍하는 방식이다. 실제 사용되는 참조 자료형으로 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식이다. 이미지 참조자료형으로 대체될 수 있는 부분을 하나의 문자로 표현한다. 여러 개의 클래스가 쓰일 수 있다. 그 재료에 따라서 재료의 타입을 제네릭(자료형 매개변수)으로 두고 그게 파..