반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

지금까지 파이썬 위주로 포스팅을 해왔는데, 제가 업무에서 자바를 다루게 되어서 급하게 자바를 공부하게 되었습니다.

 

저도 자바 왕초보인 만큼 글에 부족함이 많을 수 있으니 미리 양해부탁드립니다!

 

 


1. 자바의 자료형

 

지난 시간에 이어서 배열 자료형들을 공부해보겠습니다. 오늘도 자주 쓸만한 자료형들만 알아보고 넘어가도록 하겠습니다.

 

1) 숫자 (byte, short, long, int, float, double)
2) 문자 (char, String, StringBuffer)
3) 불 (boolean)
4) 배열 (Array)
5) 리스트 (ArrayList)
6) 맵 (Map)
7) 집합 (Set)
8) 상수집합 (Enum)

 

4) 배열 (Array)

 

자바의 배열은 아래와 같이 지난 시간 배웠던 자료형에 대괄호 [ ]를 붙여서 표현합니다.

 

즉, int[ ]는 int 객체들을 꾸러미로 가질 수 있는 Array 객체이며, String[ ]는 String 객체들을 꾸러미로 가질 수 있는 Array 객체입니다. (객체의 개념은 아직 어려운 개념일 수 있으니, 코드가 이렇게 생겼구나라고 생각하고 넘어가셔도 좋습니다.)

 

public class Datatype {

	public static void main(String[] args) {
				
		int[] numbers = {1,2,3,4,5};
		String[] strings = {"월","화","수","목","금","토","일"};
		
		System.out.println(numbers);
		System.out.println(strings);
	}
}

 

위의 String[] strings = {"월","화","수","목","금","토","일"} 코드는 아래와 같이 먼저 Array 객체를 생성해주고 그 값들을 하나씩 대입해주는 방식으로도 표현 가능합니다.

String[] strings = new String[7];
strings[0] = "월";
strings[1] = "화";
strings[2] = "수";
strings[3] = "목";
strings[4] = "금";
strings[5] = "토";
strings[6] = "일";

 

여기서 String[7]이라고 표현해준 부분을 보시면, Array 객체는 필요한 공간의 갯수를 딱 정해놓고 내용을 채워넣는 다는 것을 알 수 있습니다. 이러한 특징은 C언어와 같고 파이썬과는 다른 부분이네요.

 

참고로 "금"이라는 문자열을 출력하고 싶다면, 아래와 같이 코딩 하시면 됩니다.

// 인덱싱 개념
System.out.println(strings[4]);

 

 

5) 리스트 (ArrayList)

 

리스트는 배열과 비슷하면서도 편리한 점이 많은 자료형입니다. 앞서 공부했던 배열은 공간의 크기가 정해져서 변하지 않았다면 리스트는 그 크기가 정해져있지 않고 변한다는 것이 가장 큰 특징입니다.

 

쉽게 말해서 무언가 담는 그릇이 있는데, 배열은 딱딱한 그릇이고, 리스트는 늘어나는 소재의 그릇이라고 할 수 있겠네요.

 

// ArrayList를 사용하려면 아래의 클래스를 import 해주어야 함
import java.util.ArrayList;

public class Datatype {
    public static void main(String[] args) {
    	
        ArrayList season = new ArrayList();
        
        season.add("Spring");
        season.add("Autumn");
        season.add("Winter");
        
        System.out.println(season);
    }
}

 

<실행 결과>

[Spring, Autumn, Winter]

 

add

자, 여기서 제가 실수로 Summer를 빠트렸다고 해봅시다. 이럴 때 두번째, 즉 Spring과 Autumn 사이에 Summer를 넣고 싶다면 어떻게 해야 할까요?

 

season을 출력해보기 전에 아래의 코드를 Winter 아래에 넣어보세요.

season.add(1,"Summer");

 

<실행 결과>

[Spring, Summer, Autumn, Winter]

 

get, size, remove

만약  리스트 내에서 요소 하나만 출력하고 싶을 때, 리스트 내의 요소 갯수를 출력하고 싶을 때, 요소 하나를 없애고 싶을 땐 다음과 같이 하시면 됩니다.

// 하나만 선택해서 출력
System.out.println(season.get(3));

// 리스트 안에 담긴 요소들의 갯수 출력
System.out.println(season.size());

// 하나만 선택해서 삭제 (둘다 모두 삭제되지만 return 결과가 조금씩 다름)
System.out.println(season.remove("Autumn"));
System.out.println(season.remove(2));

 

하나씩 실행 시켜보면서 확인해보시면 이해하시는데에 도움이 되실거예요.

 

 

6) 맵 (map)

 

 

자바의 맵 자료형은 아래 표와 같이 Key와 Value 한 쌍으로 이루어진 요소들을 객체로 가지는 자료형입니다.

파이썬에서의 dictionary 자료형과 같은 개념입니다.

 

자바에서 map은 아래와 같이 만들 수 있습니다. 참고로 HashMap 객체를 사용해서 map을 만들어줄 때, 지금까지 못보던 <>가 들어가는 것을 볼 수 있는데 이는 "제네릭스" 문법으로 추후에 시간을 내서 공부해보겠습니다.

import java.util.HashMap;

public class Datatype {
    public static void main(String[] args) {
    	
        HashMap<String, String> map = new HashMap<>();
        map.put("남자", "Male");
        map.put("여자", "Female");
        
        System.out.println(map);
    }
}

 

<실행 결과>

{여자=Female, 남자=Male}

순서는 나중에 추가해주는 요소가 앞으로 오네요.

 

get, size, remove

map 역시 list와 마찬가지로 get, size, remove 메소드를 사용할 수 있습니다.

// key를 선택해서 value값을 출력
System.out.println(map.get("남자"));    //"Male" 출력

// 맵 안에 담긴 요소들의 갯수 출력
System.out.println(map.size());        // 2 출력

// key를 선택해서 key,value 세트를 삭제  --> 삭제 후 value값 리턴
System.out.println(map.remove("여자"));    // "Female" 출력

 


<참고 자료>

 

1. 점프 투 자바_위키독스

https://wikidocs.net/276

반응형

+ Recent posts