왜 컬렉션 참조 변수를 부모 타입으로 작성하는가?
=> 프로그래밍 과정에서 미쳐 생각지 못한 비효율적인 요소를 쉽게 개선하기 위해
ex)
ArrayList 만들었는데 중간에 추가, 삭제가 빈번히 일어나는 경우
-> LinkedList가 훨씬 효율적
LinkedList 만들었는데 검색이 빈번하게 일어나는 경우
-> ArrayList가 훨씬 효율적
[service]
public void test3() {
// List<Integer> list = new ArrayList<Ineger>();
List<Integer> list = new LinkedList<Integer>();
Random random = new Random();
// System.currentTimeMillis()
// -> 1970년 1월 1일 09:00:00:00 기준으로
// 현재 시간 까지 지난 시간을 ms로 반환(long)
// System.out.println(System.currentTimeMillis());
long start = System.currentTimeMillis();
for(int i =0; i< 1000000;i++) { // 100만 바퀴
list.add(random.nextInt(100000)); // 0~99999 사이 난수
}
long end = System.currentTimeMillis();
System.out.println("생성완료 - 걸린 시간 : " +(end-start)+ "ms");
// 추가 시간 확인
start = System.nanoTime();
list.add(500000, 123456789); // 중간에 데이터 삽입
end = System.nanoTime();
System.out.println("추가시간 : " + (end - start) + "nm");
// 검색 시간 확인
start = System.currentTimeMillis();
System.out.println(list.indexOf(123456789));
end = System.currentTimeMillis();
System.out.println("검색 시간 : " + (end - start) + "ms");
}
#결과

'BackEnd > Java' 카테고리의 다른 글
| [Java]컬렉션(collection) Map (0) | 2024.08.12 |
|---|---|
| [Java]컬렉션(collection) Set (1) | 2024.08.12 |
| [Java]컬렉션(collection) Wrapper (0) | 2024.08.12 |
| [Java]컬렉션 (0) | 2024.08.12 |
| [Java]다형성 인터페이스 (0) | 2024.08.12 |