국비/Java 36

[15-2] Java - Collection HashSet

HashSet 값만 저장, index 개념 없음, 순서x, 중복x [표현법] HashSet hs = new HashSet(); hs.add( ) 값 추가 hs.size( ) 크기 구하기 hs.remove("~~ ") 값 삭제 : 인덱스가 없으니 값을 직접 똑같이 입력해줘야함 hs.clear( ) 모든 값 삭제 * HashSet의 값 출력하는 방법 Iterator(반복자) => HashSet클래스에서 제공 // String의 StringTokenizer와 비슷한 원리 : List계열과 Set계열에서만 호출이 가능 Iterator it = stds.iterator( ); System.out.println(it.next()); 출력 중 값 초과시 >> NoSuchElementException while(it...

국비/Java 2022.04.27

[15-1] Java - 제네릭

제네릭 (Generic) // element 요소 * 컬렉션 안에서 다룰 타입들을 미리 지정해주는 역할 => 명시적으로 , * 객체의 형변환을 사용할 필요가 없다 => 내가 사용하고 싶은 타입만 사용할 수 있게 해준다. * 제네릭을 쓰는 이유?? 1. 저장할 타입의 제한을 두기 위해 2. 매번 형변환하는 절차를 없애기 위해서 컬렉션 생성 시 제네릭 설정 [표현법] ArrayList list = new ArrayList(); E 요소 자리에 설정하고 싶은 타입 설정 ArrayList list = new ArrayList(); System.out.println(list); // 값 추가 -> Music 이외의 값이 들어갈까? // list.add("스트링이 들어갈까?"); error list.add(new ..

국비/Java 2022.04.27

[14-5] Java - Collection 컬렉션, ArrayList

Collection * 자료구조가 내장되어있는 클래스 * 자바에서 제공하는 "자료구조"를 담당하는 "프레임워크"이다. * 데이터들이 새롭게 추가되거나, 삭제되거나, 수정 되는 기능(알고리즘)들이 이미 정의되어있는 틀 * 자료구조 : 데이터들을 효율적으로 다룰 때 - (조회, 정렬, 추가, 수정, 삭제) 필요한 개념 * 프레임워크 : 효율적인 기능들이 이미 정의되어있는 툴 배열과 컬렉션의 차이점 * 배열 - 한 타입의 데이터들만 저장 가능 - 배열을 쓰고자 할 때 먼저 크기를 지정해야 함 => 한 번 지정된 값은 변경 불가 => 새로운 값을 추가하고자 할 때 크기가 넘쳐날 경우 새로운 크기의 배열을 만들고, 기존의 내용을 복사하는 코드를 직접 짜야한다. - 배열 중간 위치에 새로운 데이터를 추가하거나 삭제..

국비/Java 2022.04.26

[14-4] Java - 보조스트림

보조스트림 Buffered - 버퍼 공간을 제공해서 한번에 모아뒀다가 한꺼번에 입출력 진행 - 속도 향상 목적의 보조스트림 (BufferedXXX) - [ 표현법 ] 보조스트림클래스이름 객체이름 = new 보조스트림클래스이름 (기반스트림객체); => 보조스트림은 단독으로 존재할 수 없다!!! 기반스트림의 옵션같은 역할 // 기반스트림이 Input/Output 계열일 경우 ---> 보조스트림도 Input/Output // 기반스트림이 Reader/Writer 계열일 경우 ---> 보조스트림도 Reader/Writer 실습1. BufferedWriter * BufferedWriter : 버퍼공간을 제공해서 한꺼번에 출력을 진행하겠다 FileWriter fw = null; // 기반스트림 BufferedWri..

국비/Java 2022.04.26

[14-3] Java - 바이트스트림, 문자스트림

DAO(Data Access Object) - 데이터가 보관되어 있는 공간에 직접 접근해서 데이터를 입출력하는 메소드들을 모아둔 클래스 바이트스트림 실습1 * 프로그램 ---> 외부매체 (파일) * 출력 : 프로그램 내의 데이터를 파일로 내보내기 (파일에 기록) - FileOutputStream : "파일"로 데이터를 출력하되, 1Byte단위로 출력 FileOutputStream fout = null // 선언 fout = new FileOutputStream("파일명") // FileOutputStream객체 생성, try~catch~ 예외처리 후 try블록 안에서 작업 => 해당 파일과 직접 연결되는 통로를 만들겠다! => 해당 파일이 존재하지 않는 경우 : 해당 파일이 생성되면서 통로도 연결됨 =>..

국비/Java 2022.04.26

[14-2] Java - Input_Output, Stream, File 클래스로 파일 만들기

IO (Input & Output) 입출력 * 프로그램상의 데이터를 외부매체(모니터, 스피커, "파일")로 출력하거나 * 입력장치 (마우스, 키보드, 마이크, "파일")로 입력받는 과정 IO를 진행하려면? 반드시!! 프로그램 외부매체와의 통로를 만들어야 한다 => Stream 스트림 Stream * 스트림의 특징 1. 단방향 - 입력이면 입력, 출력이면 출력 / 입력용 스트링 따로, 출력용 스트림이 따로 존재 - 동시에 입출력을 하고자 한다면? 하나의 스트림으로는 불가능하다 2. 선입선출(FIFO) - Queue, 먼저 전달한 값이 먼저 나오는 것 (순서대로 들어가서 나온다) - 단점 : 앞에 있는 값이 나가지 않으면 뒤의 값도 나가지 못하기 때문에 시간 지연 문제가 발생할 수 있다. * 스트림의 구분 ..

국비/Java 2022.04.26

[14-1] Java - Wrapper Class

Wrapper Class => 기본 자료형을 객체로 포장해주는 클래스 * 기본 자료형을 객체로 취급해야 하는 경우 장점 - 메소드의 매개변수로 기본자료형이 아닌 객체타입만 요구될 때 메소드 호출시 - 다형성을 적용시키고 싶을 때 => 모든 클래는 Object의 자식클래스이기 때문 기본자료형 Wrapper클래스 boolean Boolean char Chracter byte Byte short Short long Long float Float double Double 기본자료형 => Wrapper 클래스 자료형 (Auto Boxing) * int를 Integer로 int num = 10; => Integer i1 = num1; * a.compareTo(b); - a > b => 1 반환 - a ..

국비/Java 2022.04.26