본문 바로가기
ONLINE COURSES/Java

인프런 자바기초강의_List, Map, 예외처리, 입출력,

by jono 2021. 8. 15.

 25강. Collections 

25-1. List

- 인터페이스로, 이를 구현한 클래스는 인덱스를 이용해서 데이터를 관리한다.

 

# 특징

- 인덱스를 이용함

- 데이터 중복이 가능함

//ArrayList 객체생성
ArrayList<String> list = new ArrayList<String>();

// 데이터 추가
list.add("Hello");
list.add("Java");
list.add("World");   // Hello Java World 

list.add(2,"programming"); // Hello Java Programming World

list.set(1,"c"); // 인덱스1에 있는 데이터를 "c"로 바꿈
// Hello C Programming World

// 데이터 추출
String str = list.get(2);  // 인덱스가 2인 데이터를 추출
// Programming

// 데이터 제거
str = list.remove(2); // Programming

// 데이터 전체 제거
list.clear();

// 데이터 유무
boolean b = list.isEmpty(); // true

25-2. Map

- 인터페이스로, 이를 구현한 클래스느 key를 이용해서 데이터를 관리한다.

 

# 특징

- key를 이용한다

- key는 중복될 수 없다.

- 데이터 중복이 가능함.

 

// HashMap 객체생성
HashMap<Integer, String> map = new HashMap<Integer, String>();
System.out.println("map.size() == " + map.size()); // 0

// 데이터 추가
map.put(5, "Hello");
map.put(6, "Java");
map.put(7, "World");
map.put(8, "!!");  //{5=Hello, 6=Java, 7=World, 8=!!}

// 데이터 교체
map.put(6, "C"); // {5=Hello, 6=C, 7=World, 8=!!}

// 데이터 추출
str = map.get(5); // Hello

//데이터 제거
map.remove(8);  // {5=Hello, 6=C, 7=World}

// 특정 데이터 포함 유무
b = map.containsKey(7); // true

b = map.containsValue("World");  // true

// 데이터 전체 제거
map.clear();

// 데이터 유무
b = map.isEmpty(); // true

26강. 예외처리

- 프로그램에 문제가 발생했을 때 시스템 동작에 문제가 없도록 사전에 예방하는 코드를 작성하는 방법.

 

26-1 예외란?

Exception - Checked Exception : 예외처리를 반드시 해야하는 경우. (네트워크, 파일 시스템 등)

              -  Unchecked Exception: 예외처리를 개발자의 판단에 맡기는 경우.(데이터 오류 등)

 

26-2 Exception 클래스

- NullPointerException : 객체를 가리키지 않고있는 레퍼런스를 이용할 때.

- ArrayIndexOutOfBoundException: 배열에서 존재하지 않는 인덱스를 가리킬 때.

- NumberFormatException : 숫자데이터에 문자데이터 등을 넣었을 때.

. . .

 

26-3 try ~ catch

- 개발자가 예외처리하기에 가장 쉽고, 많이 사용되는 방법임.

try {
   예외가 발생할 수 있는 코드
} catch ( Exception ){
   예외가 발생했을 때 처리할 코드
}

 e.printStackTrace( );  => 어떤 에러가 발생했는지를 콘솔창에 출력하는 메서드.

 e.getMessage( );  => 예외를 간략하게 나타냄.

 

26-4 다양한 예외처리

 

26-5 finally

- 예외발생 유무에 상관없이, 반드시 실행된다.

 

26-6 throws

- 예외발생시, 예외처리를 직접하지 않고 호출한 곳으로 넘긴다.


 27강. 입력과 출력 

27-1 입/출력이란?

 

27-2 입/출력 기본 클래스

 

27-3 FileInputStream / FileOutputStream

- 파일에 데이터를 읽고 쓰기위한 클래스로, read( ), write( )메서드를 이용한다.

FileInputStream
read( );       -> 1byte씩 읽음
read( byte[ ] );  -> [ ]의 크기만큼 읽음

FileOutputStream
write( byte [ ] b );     -> 전체 쓰기
write( byte[ ], int off, int len );     -> off( 시작점 ), len( 길이 )

27-4 파일복사

27-5 DataInputStream, DataOutputStream

27-6 BufferedReader, BufferedWriter


 28강. 네트워킹 

 

28-1 네트워크 데이터 입력 및 출력

 

28-2 소켓(Socket)

28-3 소켓클래스

28-4 Clien와 Server소켓

28-5 양방향 통신

 

댓글