배열 및 연결 리스트 삭제시간 비교


문제

요구사항을 만족하는 배열리스트와 연결리스트를 생성하고, 첫 요소 삭제시간을 비교하여 출력 예와 같은 결과를 만드시오.

요구사항

  • 각 리스트는 Integer를 저장한다.
  • 각 리스트의 초기 데이터 개수는 10만개이다.
  • 측정 시각 단위는 나노초(ns)로 한다.

출력 예

  1. 요소 삭제 시간: 933189ns (ArrayList)
  2. 요소 삭제 시간: 25739ns (LinkedList)

뼈대코드

  1. import java.util.ArrayList;
  2. import java.util.LinkedList;
  3. import java.util.Random;
  4. public class ListComparison {
  5. public static void main(String[] args) {
  6. // create variables
  7. ArrayList<Integer> a = new ArrayList<Integer>();
  8. LinkedList<Integer> b = new LinkedList<Integer>();
  9. // init
  10. Random rand = new Random();
  11. for (int i = 1; i <= 1000000; i++) {
  12. a.add(i);
  13. b.add(i);
  14. }
  15. // compare random access
  16. long start, end;
  17. start = System.nanoTime();
  18. a.remove(0);
  19. end = System.nanoTime();
  20. System.out.printf("첫 요소 삭제 시간: %dns (ArrayList)\n", end - start);
  21. }
  22. }
관련 강의로 이동

코드: java 1.8

public class Main {
public static void main(String[] args) {
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

입력

정답이 궁금하다면? 코드를 제출해보세요!