728x90
1. ArrayList란?
순서가 있는 데이터 목록, 중복 허용, 크기 자동 증가
기본 사용 예제
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("철수");
names.add("영희");
names.add("민수");
for (String name : names) {
System.out.println("이름: " + name);
}
}
}
2. HashMap이란?
**키(Key)와 값(Value)**을 짝지어서 저장하는 자료구조
순서는 없지만, 빠르게 검색 가능!
기본 사용 예제
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, Integer> scores = new HashMap<>();
scores.put("철수", 90);
scores.put("영희", 85);
scores.put("민수", 78);
System.out.println("영희의 점수: " + scores.get("영희"));
for (String name : scores.keySet()) {
System.out.println(name + "의 점수: " + scores.get(name));
}
}
}
3. ArrayList + HashMap 함께 사용하기
학생 여러 명의 정보를 각각 HashMap으로 저장하고, ArrayList에 모아 관리
import java.util.ArrayList;
import java.util.HashMap;
public class StudentManager {
public static void main(String[] args) {
ArrayList<HashMap<String, String>> studentList = new ArrayList<>();
// 첫 번째 학생
HashMap<String, String> s1 = new HashMap<>();
s1.put("이름", "철수");
s1.put("학번", "2023001");
s1.put("학과", "컴퓨터공학");
studentList.add(s1);
// 두 번째 학생
HashMap<String, String> s2 = new HashMap<>();
s2.put("이름", "영희");
s2.put("학번", "2023002");
s2.put("학과", "정보보안");
studentList.add(s2);
// 전체 출력
for (HashMap<String, String> student : studentList) {
System.out.println("학생 정보:");
System.out.println("이름: " + student.get("이름"));
System.out.println("학번: " + student.get("학번"));
System.out.println("학과: " + student.get("학과"));
System.out.println();
}
}
}
언제 어떤 걸 써야 할까?
자료구조 | 사용 목적 | 예시 |
ArrayList | 순서대로 저장, 인덱스로 접근 | 학생 목록, 쇼핑카트 |
HashMap | 키로 빠르게 조회 | 이름 → 점수, ID → 객체 |
둘 다 | 여러 개의 데이터를 묶고 관리할 때 | 학생 목록 + 상세 정보 |
실습 아이디어
- 과목별 점수 관리 (HashMap<String, Integer>)
- 상품 목록 (ArrayList<HashMap<String, String>>)
- 연락처 관리 시스템 (HashMap<String, String> 이름 → 전화번호)
주요 메서드 정리
ArrayList
메서드 | 설명 |
add() | 요소 추가 |
get(i) | i번째 요소 가져오기 |
size() | 리스트 크기 |
remove(i) | i번째 요소 제거 |
HashMap
메서드 | 설명 |
put(key, value) | 키-값 저장 |
get(key) | 키에 해당하는 값 조회 |
keySet() | 모든 키 반환 |
containsKey(key) | 해당 키 존재 여부 |
LIST
'JAVA > 자바와 데이터 다루기' 카테고리의 다른 글
컴파일 오류 vs 런타임 오류 (0) | 2025.04.13 |
---|---|
반복문과 함께 사용하기 (0) | 2025.04.13 |
BufferedReader, FileWriter 사용법 (0) | 2025.04.13 |
파일 쓰기/읽기 (0) | 2025.04.13 |