# 배열 및 연결 리스트 랜덤삭제 비교
---
## 문제
요구사항을 만족하는 배열리스트와 연결리스트를 생성하고, 랜덤 요소 삭제시간을 비교하여 출력 예와 같은 결과를 만드시오.
## 요구사항
- 각 리스트는 `Integer`를 저장한다.
- 각 리스트의 초기 데이터 개수는 10만개이다.
- 측정 시각 단위는 나노초(ns)로 한다.
## 출력 예
```
랜덤 요소 삭제 시간: 273464ns (ArrayList)
랜덤 요소 삭제 시간: 4036401ns (ArrayList)
```
## 뼈대코드
```
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Random;
public class ListComparison {
public static void main(String[] args) {
// create variables
ArrayList<Integer> a = new ArrayList<Integer>();
LinkedList<Integer> b = new LinkedList<Integer>();
// init
Random rand = new Random();
for (int i = 1; i <= 1000000; i++) {
a.add(i);
b.add(i);
}
// compare random access
long start, end;
start = System.nanoTime();
a.remove(rand.nextInt(a.size()));
end = System.nanoTime();
System.out.printf("랜덤 요소 삭제 시간: %dns (ArrayList)\n", end - start);
}
}
```