본문 바로가기

전체 글

(122)
입출력 자바의 기본적인 데이터 입출력은 Java.io 패키지에서 제공 Java.io 패키지의 주요 클래스 설명 File 파일 시스템의 파일 정보를 얻기 위한 클래스 Console 콘솔로부터 문자를 입출력하기 위한 클래스 InputStream / OutputStream 바이트 단위 입출력을 위한 최상위 입출력 스트림 클래스 FileInputStream / FileOuputStream 바이트 단위 입출력을 위한 하위 스트림 클래스 DataInputStream / DataOutputStream ObjectInputStream / ObjectOutputStream PrintStream BufferedInputStream / BufferedOutputStream Reader / Writer 문자 단위 입출력을 위한 최상..
자료형 - HashSet, HashMap HashSet hash table을 사용해 Set을 구현 객체 그 자체를 저장, null 요소도 허용, 중복 X, 순서 유지 X *저장 순서를 유지하고 싶으면 LinkedHashSet을 사용 탐색에 특화된 자료구조로 평균 **O(1)**의 시간복잡도로 데이터를 탐색, 삽입, 삭제가 가능해, List보다 빠름 Set set = new HashSet(); set.add(null); // 1개의 null만 등록 가능 set.add(1); set.add(1); // 중복된 데이터는 등록 안됨 System.out.println("Set 사이즈: " + set.size()); // Set 사이즈: 2 System.out.println("1을 포함하나요? " + set.contains(1)); // true Syst..
자료형 - Array / ArrayList / LinkedList Array 선형 자료구조(Data Structure)중 하나로 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료 구조 장점 연속된 메모리 공간에 요소를 저장하므로, 메모리 공간의 효율적 사용 가능 행렬같은 다차원 데이터 표현 가능 배열은 인덱스를 사용 > 빠른 접근이 가능(인덱스를 알고 있으면 상수 시간(O(1))에 접근할 수 있음) 단점 배열 중간에 요소를 삽입하거나 삭제하려면 해당 위치 이후의 요소들을 모두 이동시켜야 하므로 O(n)의 시간 복잡도를 가짐 > 성능 저하 초래 배열이 가진 정적 크기의 한계를 극복하기 위해 사용하는 것이 ArrayList 생성할 때 크기를 정하고 이후에 변경할 수 없음 > 미리 필요한 데이터의 양을 예측해서 배열을 생성해..