목록분류 전체보기 (135)
100세까지 코딩

Stack 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료구조 주요 메서드 empty() 스택이 비어 있는지 검사 peek() 최상위 요소 반환 (제거 X) pop() 최상위 요소 반환 (제거 O) push() 요소 스택에 추가하고 그 요소 반환 search() 주어진 요소를 스택에서 찾음, 최상위 요소로부터 offset 값 반환 Stack 예시 import java.util.Stack; public class StackStudy { public static void main(String[] args) { Stack st = new Stack(); st.push("aaa"); // peek 메서드 (제거 X) String s = (String) st.pee..

List란? 요소들에 순서를 부여하며 저장한다. 인덱스가 있어 위치를 지정하여 찾을 수 있다. 동일한 요소를 중복 저장할 수 있다. List 종류 ArrayList 동적 배열을 이용한 List Vector ArrayList와 거의 동일, but 동기화 제공 LinkedList 연결 리스트로 구현된 List ArrayList 배열을 이용하여 List 인터페이스를 구현한 클래스이다. List 종류 중 가장 많이 사용되는 클래스이다. ArrayList는 필요한 경우 현재의 크기보다 50% 자동으로 크기를 키운다. 그러나, 비용이 비싸서 생성자를 사용하여 목적에 맞게 사이즈를 설정하는 것이 좋다. 요소들은 get(), set()으로 직접 접근 가능하다. add(), remove()를 사용하여 새로운 요소를 추가..

Set이란? Set은 List와 다르게 중복을 허용하지 않는 데이터 집합 Set 종류 SortedSet 원소들이 오름차순으로 정렬되어 있는 인터페이스. HashSet 해시 테이블로 구현. 빠른 접근 속도. 순서 보장 X. LinkedHashSet 해시 테이블로 구현. 저장된 순서에 따라 순서가 결정. TreeSet RedBlack 트리로 구현한 SortedSet 클래스. 값에 따라 순서 결정. 데이터 저장하면서 정렬할 때 사용. 주요 메서드 add() 요소(데이터) 추가 clear() 모든 요소 제거 contains() 요소 포함 여부 반환 isEmpty() Set이 비어 있는지 여부 반환 remove() 요소 제거 size() Set 요소의 개수 반환 iterator() 검색을 위한 반복자 생성 메서드..

컬렉션이란? 객체들의 집합, 즉 데이터 저장소이다. 컬렉션은 가변 개수의 객체들을 저장할 수 있는 공간이며 추가, 삭제 및 검색 기능을 제공한다. 다양한 타입을 지원하기 위해 제네릭 형태로 구현되어 있다. 컬렉션의 종류는? Vector와 ArrayList : 가변 크기 배열 LinkedList : 링크드 리스트 HashSet : 집합 HashMap : 키와 값의 쌍 Stack, Queue 등 반복자 Map을 제외한 Vector, ArrayList, HashSet, LinkedList, Queue는 Collection 인터페이스를 구현한 클래스이다. Collection 인터페이스를 구현한 클래스는 순차적 검색을 할 때 Iterator 인터페이스를 사용하면 편리하다. Collection 인터페이스에는 Ite..

제네릭(generic)이란? 데이터의 타입을 일반화(generalize)하는 것을 의미한다. 클래스나 메소드에서 사용할 내부 데이터 타입을 외부에서 사용자에 의해 미리 지정한다. 장점 1. 잘못된 타입이 들어오는 것을 컴파일 단계에서 방지할 수 있다. 2. 사용자가 타입을 미리 지정하기 때문에 타입을 체크하고 변환해 줄 필요가 없다 = 관리 편리. 3. 코드의 재사용성이 높아진다. Ex 제네릭 클래스를 사용하지 않으면? public class IntStack{ final int size; int[] items; int top; public void Push(int item) {} public int Pop(){} } public class FloatStack{ final int size; float[] ..

String 클래스는 문자열에 대해 검색, 교체, 합체 등의 메서드를 제공한다. 대표적인 메서드를 알아보자. 1) String.concat(String str) public class Main { public static void main(String[] args) { String str = "hi"; System.out.println(str.concat(" java")); } } 결과 : 두 개의 문자열을 합쳐서 반환한다. 2) String.replace(String target, String replacement) public class Main { public static void main(String[] args) { String str = "1234512345"; System.out.printl..