* 배열
- 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
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 |
댓글