JAVA

[Java] Array, ArrayList, HashMap 사용법, 데이터 출력법, 차이점

엘라 ELLA 2022. 11. 4. 16:13
728x90
반응형

· 배열(Array) : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것

배열은 여러개의 엑셀 파일을 한개의 폴더에 넣어두는 것에 비유 할 수 있다.

'이름.xlsx' 이라는 파일에 이름값들이 들어있고, '번호.xlsx'라는 파일에 일련번호가 들어있다고 하자. 이런 파일들을 '등록자정보'라는 폴더에 넣어놓는다면 이건 자바의 배열과 유사하다.

 

▶배열의 생성 방법

타입[] 변수이름 = new 타입[길이];

int[] arr = new int[10];

밑에줄을 보면, 숫자로 이루어진 변수 10개를 넣는 'arr'라는 이름을 갖는 배열을 만들겠다는 뜻이다. 이렇게 선언된것을 그림으로 표현하면 다음과 같다.

배열은 0번째 인덱스부터 시작하기 때문에 총 인덱스의 수는 [선언한 배열의 길이 -1]이 된다. 그림 하단에 [꺽쇠]아래 적힌 숫자가 각 칸의 인덱스이다.

 

 

 

▶배열에 데이터를 넣는 방법

변수이름[값을 넣고자 하는 인덱스의 번호] = 넣을 값;

arr[0] = 1;

배열에 데이터를 넣으면 아래와 같은 그림으로 표현 할 수 있다.

▶배열의 전체 값 출력하는 법

Array의 길이는 변수명.length로 알아 낼 수 있다.

for(int i = 0; i<arr.length; i++){
    System.out.println(arr[i]);
}

 

 


· ArrayList : Object배열을 이용해 데이터를 순차적으로 저장하는 것

 

▶ArrayList 생성방법

 

ArrayList에 정수형 타입을 사용하고자 할때는 int가 아닌 Integer을 사용해야한다. 또한, 맨 앞의 ArrayList<타입>과 new 뒤에 따라오는 ArrayList<타입>은 동일해야한다.

import java.util.ArrayList;

...

ArrayList<타입> 변수이름 = new ArrayList<타입>();

ArrayList<Integer> list = new ArrayList<Integer>();

 

▶배열에 데이터를 넣는 방법

ArrayList는 일반 배열과 달리, 길이가 데이터를 넣는 만큼 자동으로 늘어난다. 인덱스는 앞에서부터 알아서 차근차근 채워져 나간다.

변수명.add(넣을 값);

list.add(1);

 

▶배열의 전체 값 출력하는 법

ArrayList의 길이는 변수명.size()로 알 수 있다.

for(int i = 0; i < list.size(); i++){
	System.out.println(arr.get(i));
}

 

 


· HashMap : Map 인터페이스를 구현하는 Map컬렉션중 한가지

 

▶HashMap 생성방법

Map<타입, 타입> 변수명 = new HashMap<타입, 타입>();

Map<String, Integer> map = new HashMap<String, Integer>();

 

▶HashMap에 데이터를 넣는 방법

HashMap에서 값을 집어 넣을때에는 반드시 HashMap을 생성할 때 지정했던 타입에 맞추어서 작성해야한다. 예시로, 필자는 String타입과 Integer타입을 순서대로 넣어서 map을 생성했으므로, 문자열인 "가나다"와 정수 123을 넣었다.

변수명.put(넣을 값, 넣을 값);

map.put("가나다", 123);

 

 

▶HashMap의 전체 값 출력하는 법

for(String key : map.keySet()) {
	System.out.println(key + ":" + arr.get(key));
}

· Array, ArrayList, HashMap 차이점

종류 배열 ArrayList HashMap
생성방법 int[] arr = new int [10]; ArrayList<Integer> arr = new ArrayList<Integer>(); Map<String, Integer> map 
= new HashMap
<String, Integer>();
유연성 데이터를 넣을수 있는 칸은 딱 10칸으로 증감 불가 데이터를 삽입하는 만큼 자동으로 늘어남 데이터를 삽입하는 만큼 자동으로 늘어남
데이터 넣는법 arr[0] = 1; arr.add(1); map.put("가나다", 123);
데이터 수정법 arr[0] = 2; arr.set(0, 2); map.put("가나다", 456);
데이터 불러오는 법 int data = arr[0]; int data = list.get(0); int data = map.get("가나다");
데이터 삭제법 불가 list.remove(0); map.remove("가나다");

 


 

게시글이 도움이 되었다면

[로그인]이 필요 없는 ❤ 눌러주세요:)

반응형