[Java] OOP_인터페이스(Interface)-ArrayList, LinkedList
인터페이스(Interface)
ArrayList와 LinkedList
자바의 List인터페이스를 상속받은 클래스 중 하나
ArrayList
- 배열을 사용해 List 구현한 클래스
- 일반 배열과 동일하게 연속된 메모리 공간을 사용, 인덱스 0부터 시작한다.
- 배열과 ArrayList의 차이점 : 배열은 크기가 고정되어있지만 ArrayList는 크기가 가변적이다.
- 현재 가용량(Capacity) 이상 저장하려 할 때 더 큰 메모리를 새롭게 할당한다.
ArrayList 생성
자바의 List인터페이스를 상속받은 클래스 중 하나
자바에서 ArrayList를 생성하면 위쪽에 구문이 생긴다.
import java.util.ArrayList;
//PC 타입 객체 n개, BC 타입 객체 n개 만들기 - 하나가 아니라 여러개지만 n개기 때문에 배열(갯수 정해져있음)이 적합하지 않다
ArrayList<Contact> contacts = new ArrayList<Contact>(); //new ArrayList<>안 생략 가능
ArrayList<Contact> contacts = new ArrayList<>(); //Contact 배열에 서로 다른 애들을 넣을 수 있다, 상속이니까.
contacts.add(new PersonalContact("My Friends", null, null, null));
contacts.add(new BizContact("My Friends", null, null, null, null));
for(Contact c2 : contacts) {
System.out.println(c2.toString());
}
LinkedList
- 각각의 데이터가 노드(Node)로 구성되어 연결되는 구조
- 장점은 데이터를 추가하거나 삭제하는 것이 원활하다는 것이다.
LinkedList 생성
import java.util.LinkedList;
LinkedList<Contact> contacts = new LinkedList<>();
ArrayList, LinkedList 차이, 언제 사용할까?
ArrayList는 검색이 많은 경우 사용하고, LinkedList는 데이터의 추가, 삭제가 잦은 경우 사용한다.
Author And Source
이 문제에 관하여([Java] OOP_인터페이스(Interface)-ArrayList, LinkedList), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeong11/Java-OOP-ArrayList-LinkedList저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)