목록JAVA (15)
100세까지 코딩

StringTokenizer 문자열을 우리가 지정한 구분자로 문자열을 쪼개주는 클래스 주요 메서드 countTokens() 현재 남아있는 token 개수 hasMoreTokens() 남아있는 토큰이 있으면 true, 없으면 false nextToken() 객체에서 다음 토큰 반환 사용 예시 import java.util.StringTokenizer; public class test { public static void main(String[] args) { String str = "Hello java world"; StringTokenizer st = new StringTokenizer(str); // 생성자 System.out.println(str); System.out.println("토큰 갯수 :"..

한눈에 정리 BufferedReader Scanner 버퍼 사이즈(byte) 8192 1024 데이터 파싱 String으로 단순히 읽음 원하는 타입으로 파싱 예외 처리 IOException 던짐 IOException 숨김 Syncronized O X 속도 빠름 느림 1) Scanner 공백 및 개행을 기준으로 읽는다. 원하는 타입으로 파싱 해서 읽을 수 있다. 버퍼의 사이즈가 1024byte(1KB)이다. 예외 처리를 명시할 필요가 없다. 동기화를 지원하지 않아서 멀티스레드 환경에서 문제가 발생할 수 있다. 데이터를 입력받는 즉시, 사용자에게 전송되기 때문에 많은 시간이 소요된다. 1-1) 사용법 Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 2..

Map 키와 값이 한쌍으로 이루어진 자료구조 Collection 인터페이스를 구현한 클래스와는 다르게 동작한다. 요소들을 반복 처리할 때 Map에 따라 추가 / 접근시간에 있어 약간의 차이가 있다. Map 종류 HashMap 순서를 보장하지 않는 Hashing 방식의 Map TreeMap 정렬에 따른 순서를 보장하는 RedBlack Tree 형태의 Map LinkedHashMap 추가대로 입력되는 순서를 보장하는 LinkedList 형태의 Map HashMap 예시 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapStudy { public static void main(String[]..

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() 검색을 위한 반복자 생성 메서드..