데이터는 포인터와 주소를 사용하여 연결되며, 데이터가 연속된 위치에 저장되지 않고 모든 데이터가 데이터 부분과 주소 부분을 별도로 가지고 있다. 각 데이터는 노드라 불리며 배열에서 자주 삽입, 삭제가 이루어지는 경우 용이하며, ArrayList보다 선호된다. 단점으로는 ArrayList보다 검색에 있어 느리다.
LinkedList 선언 방법
LinkedList li = new LinkedList(); // 타입 설정x Object로 입력
LinkedList<Integer> i = new LinkedList<Integer>(); // int 타입으로 선언
LinkedList<Integer> i2 = new LinkedList<>(); // 타입 선언 생략도 가능
LinkedList<Integer> i3 = new LinkedList<Integer>(Arrays.asList(1, 2, 3)); // 초기 값 세팅
LinkedList<String> s = new LinkedList<String>(); // String 타입 사용
LinkedList<Character> ch = new LinkedList<Character>(); // Char 타입 사용
ArrayList 기초 명령어 예제
→LinkedList 값 추가
public class Main {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.addFirst(1);//가장 앞에 데이터 추가
list.addLast(2);//가장 뒤에 데이터 추가
list.add(3);//데이터 추가
list.add(1, 10);//index 1에 데이터 10 추가
}
}
→LinkedList 값 삭제
public class Main {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>(Arrays.asList(1,2,3,4,5));
list.removeFirst(); //가장 앞의 데이터 제거
list.removeLast(); //가장 뒤의 데이터 제거
list.remove(); //생략시 0번째 index제거
list.remove(1); //index 1 제거
list.clear(); //모든 값 제거
}
}
→LinkedList 크기 반환
list.size() : list의 사이즈 반환
→LinkedList 값 출력
list.get(i) : list의 i번째 값 출력
→LinkedList 값 검색
list.contains(Object) : list에 Object가 있다면 true, 없다면 false를 출력
'자바' 카테고리의 다른 글
HashSet기초 (자바) (0) | 2023.01.07 |
---|---|
Vector 기초 (자바) (0) | 2023.01.07 |
Stack 기초 (자바) (0) | 2023.01.06 |
ArrayList 기초 (자바) (0) | 2023.01.06 |
Collection(List, Set, Queue, Map) (0) | 2023.01.06 |