본문 바로가기
JAVA

190329

by 개폰지밥 2019. 3. 28.
반응형

* 배열

- 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것

int[] score = new int[5];

score

score[0] score[1] score[2] score[3] score[4]

- 배열의 선언과 생성

선언방법 선언 예
타입[] 변수이름; int[] score;
타입 변수이름[]; int score[];

- 배열의 생성

배열을 선언한 다음에는 배열을 생성해야한다. 배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고, 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다. 배열을 생성하기 위해서는 연산자 'new'와 함께 배열의 타입과 길이를 지정해 주어야 한다.

타입[] 변수이름; //배열을 선언 (배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; //배열을 생성 (실제 저장공간을 생성);

아래는 코드는 '길이가 5인 int배열'을 생성한다.

int[] score; //배열을 선언(배열을 다루기 위한 참조변수 선언)
score = new int[5]; //배열을 생성(실제 저장공간을 생성)

- 실습: 내가 좋아하는 게임

public class ArrayEx {

public static void main(String[] args) {
// TODO Auto-generated method stub

/*타입[] 변수이름; //배열을 선언 (배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이] //배열을 생성 (실제 저장공간을 생성);*/

// 내가 좋아하는 게임
String[] game = new String[] {"lol","옵치","바람의나라","스타크래프트"}; //배열과 생성과 초기화를 동시에
System.out.println(game[1]);
System.out.println(game[2]);
System.out.println(game[3]);
}
}

- 실습결과

옵치
바람의나라
스타크래프트

- 배열의 길이

배열의 길이는 int 범위의 양의 정수(0도 포함)이어야 한다.

=> 즉 lol, 옵치, 바람의나라, 스타크래프트면 lol이 0 옵치가 1번 바람의나라가 2번 스타크래프트가 3번이다.

- 배열이름.length

자바에서는 jvm이 모든 배열의 길이를 별도로 관리하며, '배열의이름.length'를 통해서 배열의 길이에 대한 정보를 얻을 수 있다.

===========================================================================

* 컬렉션 프레임웍

- 컬렉션 프레임웤이란 '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. 컬렉션은 다수의 데이터, 즉 데이터 그룹을, 프레임웍은 표준화된 프로그래밍 방식을 의미한다.

- 컬렉션 프레임웍의 핵심 인터페이스: List, Set, Map

인터페이스 특징
List 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다.
예) 대기자 명단
구현클래스: ArrayList, LinkdList, Stack, Vector 등
Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다.
예) 양의 정수집합, 소수의 집합
구현 클래스:HashSet, TreeSet 등
Map 키(key)와 값(value)의 쌍 (pair)으로 이루어진 데이터의 집합
순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.
예) 우편번호, 지역번호(전화번호)
구현클래스: HashMap TreeMap, Hashtable, Properties 등

- Map 인터페이스

Map 인터페이스는 키(key)와 값(value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는데 사용된다. 키는 중복될 수 없지만 값은 중복을 허용한다. 기존에 저장된 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다. Map을인터페이스를 구현한 클래스로는 Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등이 있다.

 

- Map이란?

map은 사전과 비슷하다. soccer 이란 단어에 축구, baseball 이라는 단어에 야구라는 뜻이 부합되듯이 map은 key와
value라는 것을 한 쌍으로 갖는 자료형이다.  map은 key를 통해 value를 얻는다.

- HashMap

자바의 맵중 간단한 HashMap이 있다. Map은 List와 마찬가지로 인터페이스다.

key value
baseball 야구
soccer 축구


- HashMap 제네릭스를 이용하고 key, value 모두 String 타입이다.

* HashMap의 메소드

- put

값을 집어 넣을 때 사용

- get
key에 해당되는 값을 얻기 위해서는 다음과 같이 한다.
map.get("soccer");
- containsKey
containsKey 메소드는 맵에 해당 키가 있는지를 조사하여 그 결과값을 리턴한다.
- remove
맵의 항목을 삭제하는 메소드로 key값에 해당된느 아이템(key, value)을 삭제한 후 그 value값을 리턴한다.
- size
size 메소드는 Map의 갯수를 리턴한다.

-실습

HashMap<String, String> sportmap = new HashMap<>();
sportmap.put("baseball", "야구");
sportmap.put("soccer","축구");
System.out.println(sportmap.get("baseball"));
System.out.println(sportmap.containsKey("baskiball")); //키가 있는지 조사하여 있으면 true 없으면 false를 출력한다.
System.out.println(sportmap.size());

- 결과

야구
false
2

 

반응형

'JAVA' 카테고리의 다른 글

[JAVA] Caesar cipher Coding 하기  (0) 2019.04.12
20190401  (0) 2019.04.01
[JAVA] Scanner, 형변환, 연산자, if문  (0) 2019.03.28
[JAVA] Star Craft 만들기  (0) 2019.02.22
자바 생성자  (0) 2019.01.29

댓글