개발지식 먹는 하마 님의 블로그
Java - 배열과 리스트 본문
[ ArrayList ]
Java에서 사용할 수 있는 동적 배열이다.
ArrayList에 요소를 추가할수록 ArrayList의 크기가 자동으로 늘어난다.
ArrayList<클래스명> 변수명 = new ArrayList<객체>(초기 배열 크기);
ArrayList<클래스명> 변수명 = new ArrayList<>(); //타입 추론, 디폴트 배열 크기 10 지정
- ArrayList의 요소 타입으로 클래스만을 사용할 수 있다.
- 초기 배열 크기를 따로 설정하지 않으면 디폴트로 10이 지정된다.
- 배열의 요소 타입을 생략하면 컴파일러는 문맥으로 타입을 추론한다.
기본적인 메소드 | 설명 |
add(요소) | 앞에서 부터 차례대로 비어있는 위치에 요소를 추가 |
add(index, 요소) | 지정된 위치에 입력받은 요소를 삽입 해당 위치와 그 뒤의 요소들이 한 자리씩 뒤로 물러난다. |
set(index, 요소) | 지정된 위치의 요소를 입력받은 요소로 대체 |
remove(index) | 지정된 위치의 요소를 삭제 뒤에 있던 요소들이 한 자리씩 앞으로 이동한다. |
remove(요소) | 주어진 요소와 동일한 첫 번째 요소를 삭제하고 true를 반환 |
clear() | 리스트의 모든 요소를 삭제 |
isEmpty() | 리스트가 텅 비어있으면 true 반환 |
contains(요소) | 주어진 요소가 리스트에 존재하면 true를 반환 |
indexOf(요소) | 주어진 요소가 리스트에 있으면, 첫 번째 나타난 요소의 인덱스를 반환 포함되어 있지 않으면 -1을 반환 |
get(위치) | 지정된 위치의 요소를 반환 |
size() | 현재 리스트의 크기를 반환 |
[ LinkedList ]
(이중)연결 리스트를 직접 구현하지 않고 사용할 수 있다.
삭제 연산이 많은 경우 ArrayList 대신 사용하면 좋다.
ArrayList 와 다르게 초기 크기를 인자로 받지 않는다.
LinkedList<클래스명> 변수명 = new LinkedList<>();
[ HashSet ]
집합을 구현하는 자료구조
- 중복된 요소가 있을 수 없다.
- 순서가 정의되지 않는다. (set, get 등 위치를 필요로 하는 함수 사용 불가)
[ HashMap ]
'키-값'의 쌍으로 구성된 컬렉션을 저장한다.
HashMap<키 타입, 값 타입> 변수명 = new HashMap<>();
메소드 | 설명 |
clear(), isEmpty() | - |
put(키, 값) | 키-값 쌍으로 요소 추가 |
get(키) | 키에 해당하는 값을 가져옴 |
keySet() | 모든 키들의 집합을 만들어서 반환 |
values() | 모든 값들의 컬렉션을 반환 |
remove(키) | 키에 해당하는 키-값 쌍을 삭제 |
containsKey(키) | 주어진 키가 존재하면 true를 반환 |
containsValue(값) | 주어진 값이 존재하면 true를 반환 |
'Java' 카테고리의 다른 글
Java - 네트워크 프로그래밍 (0) | 2025.02.09 |
---|---|
Java - 스레드(Thread) (0) | 2025.02.07 |
Java - 인터페이스 (0) | 2025.02.05 |
Java - 오버로딩, 오버라이딩 (1) | 2025.02.04 |
Java - 상속 (1) | 2025.02.03 |