· 배열(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("가나다"); |
게시글이 도움이 되었다면
[로그인]이 필요 없는 ❤ 눌러주세요:)
'JAVA' 카테고리의 다른 글
[Java | Stream] 자바 스트림 filter, 합계 (Sum) , List 출력하기 예제 (0) | 2022.12.23 |
---|---|
[Java | 웹개발] @JsonFormat 어노테이션 사용으로 Date 형식 바꾸기 / 시간 서울기준으로 맞추기 (0) | 2022.11.18 |
[Java] Math.random()을 이용한 주사위 두개 굴리기 예제 (1) | 2022.11.01 |
[Java] if문의 활용 | if, if - else, else - if (0) | 2022.10.28 |
[Java] printf() 메소드를 이용 - %s, %d, %f 사용법 (0) | 2022.10.27 |