반응형
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/140108
Array와 List의 차이점
주로 python으로 공부해서 이 두 두가지를 구분하는 개념이 헷갈린다..
Java에서 Array와 List는 데이터 구조로서 서로 다른 특징과 용도를 가진다.
- 크기
Array: 배열의 크기는 고정되어 있으며, 생성 시 크기를 지정해야 합니다. 배열의 크기를 변경하려면 새 배열을 생성해야 합니다.
List: 리스트는 가변 크기로, 요소를 추가하거나 제거할 수 있습니다. ArrayList, LinkedList 등 다양한 구현이 있습니다. - 데이터 타입
Array: 모든 데이터 타입(기본형 및 객체형)을 담을 수 있으며, 기본형 데이터 타입의 배열도 생성할 수 있습니다. 예를 들어, int[], char[], String[] 등.
List: 객체 타입만 담을 수 있으며, 기본형 타입은 자동으로 박싱(wrapper)되어야 합니다. 예를 들어, List를 사용하면 Integer 객체로 저장됩니다. - 메서드
Array: 배열에는 메서드가 없으며, 요소에 직접 접근해야 합니다. 예를 들어, array[index]로 접근합니다.
List: 리스트는 메서드를 사용하여 요소를 추가, 제거, 검색할 수 있습니다. 예를 들어, list.add(element), list.remove(index)와 같은 메서드를 제공합니다. - 성능
Array: 배열은 고정 크기로 메모리를 효율적으로 사용하며, 요소에 직접 접근할 수 있기 때문에 성능이 더 좋습니다.
List: 리스트는 크기가 가변적이기 때문에 크기 조정이나 요소 추가/삭제 시 성능이 떨어질 수 있습니다. 그러나 사용하기 간편한 메서드를 제공합니다. - 사용 예시
Array: 크기가 고정된 데이터셋(예: 날짜별 온도 기록)이나 성능이 중요한 경우 사용합니다.
List: 데이터가 동적으로 변경될 수 있는 경우(예: 사용자 입력을 통한 목록) 사용합니다. - 예제 코드
import java.util.ArrayList; int[] array = new int[5]; // 크기가 5인 배열 생성 array[0] = 1; // 요소 추가 int firstElement = array[0]; // 요소 접근` List list = new ArrayList<>(); // ArrayList 생성 list.add(1); // 요소 추가 int firstElement = list.get(0); // 요소 접근
String 다루기
String에 있는 문자열 다룰 때 굳이 리스트로 변환할 필요 없이 charAt() 함수를 더 사용할 것
이중 루프
지금까지 2번째 문자열 문제지만 앞자리가 변경되면서 순회하는 건 while-for문 조합인 것 같음
while로 앞자리 증가시키면서 for문으로는 뒷자리까지 순회하면서 돌기..
반응형
'Java' 카테고리의 다른 글
[백준] 식당 입구 대기 줄 성공 (1) | 2024.11.14 |
---|---|
[백준] 기술 연계마스터 임스 (1) | 2024.11.13 |
[java] 크기가 작은 부분 문자열 (0) | 2024.10.29 |
[java] for문을 통해 string 문자열 순회하기 (0) | 2024.10.28 |
[java] java.util.HashMap 메소드 정리 (0) | 2024.04.25 |