[22/02/28] 배열(array)과 List의 차이점
👨🦳 배열(array)과 List의 차이점
♠ 배열
int[] array = { 1, 2, 3 };
String[] arr = new String[5];
arr[0] = "1";
arr[1] = "2";
for(int i = 1; i < arr.length-1; i++) {
// 삭제하고 싶은 인덱스 값(1번)부터 마지막 인덱스까지 반복문을 돌린다.
list[i] = list[i+1]; // 인덱스 i+1의 값을 인덱스 i로 이동
} System.out.println(list[1]); //값 확인
for(int i=0; i<arr.length; i++) {//for문을 통한 전체출력
System.out.println(arr[i] + " ");
}
배열의 장점은 구현이 간단하고 탐색이 빠르다는 것입니다. 인덱스 번호만 알고 있으면 데이터를 바로 얻을 수 있습니다.
단점은 새로운 데이터를 중간에 삽입, 삭제하게 될 경우, 중간 기점으로부터 나머지 전체 데이터들이 한 칸씩 움직여줘야 합니다. 즉, 하나의 데이터를 삽입, 삭제하기 위해 소모되는 리소스가 굉장히 큽니다.
♣ 리스트
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(1,10); //index 1에 10추가
list.remove(1); // index 1 제거
for(Integer i : list) { //for문을 통한 전체출력
System.out.println(i);
}
리스트의 장점은 데이터 삽입, 제거가 배열보다 빠르고 간단합니다. 메모리 주소를 연속적으로 구현할 필요가 없으며 중간 기점에 연결된 주소값만 바꿔주면 쉽게 데이터를 삽입, 제거할 수 있습니다.
단점은 기존에 저장된 데이터를 탐색하게 될 경우, 첫 번째부터 시작해서 원하는 데이터가 나올때까지 계속 탐색을 해야합니다. 따라서 인덱스를 기준으로 데이터 탐색을 하는 배열에 비해 굉장히 느립니다. 데이터와 더불어 주소값도 함께 저장을 해야하기 때문에 배열에 비해 저장소를 사용하는 리소스가 더 큽니다.
=> 배열은 구현이 간단하고 탐색이 빠르지만 데이터를 삽입, 삭제하기 위해 소모되는 리소스가 굉장히 크고
리스트는 데이터 삽입, 제거가 배열보다 빠르고 간단하지만 저장소를 사용하는 리소스가 크고 데이터 탐색이 느립니다.
Author And Source
이 문제에 관하여([22/02/28] 배열(array)과 List의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hellocdpa/220228-배열array과-List의-차이점저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)