728x90
[LinkedList]
- ArrayLsit와는 다르게 각각의 노드를 연결하는 방식을 사용한다.
- 여기서 노드란 실제로 데이터가 저장되는 그릇과 같은 것
- 데이터를 삭제하고 추가하는 것이 용이하다.
- 위치에 상관 없이 데이터를 삭제 및 추가 하는데 변경되는 노드만 연결해주면 된다.
- ArrayList는 검색이 많은 경우에 사용되고, LinkedList는 데이터의 추가 / 삭제가 많을 경우 사용된다.
(예시) 의자 없이 사람들이 손을 잡고 있는데 중간에 사람이 들어가려하면 잡고 있던 손을 놓고 그 자리로 들어갈 수 있다.
[LinkedList선언 방법]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
}
- <> 안에는 Integer, String, Character, Student, Phone 등과 같은 다양한 타입이 들어 올 수 있다.
[LinkedList데이터 추가]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add("자바");
list.add("파이썬");
list.addFrist("C언어");
list.addLast("자바스크립트");
}
- add(Object)를 사용하여 인덱스 마지막에 데이터를 추가한다.
- add(Object, index)를 사용하여 지정한 인덱스에 값을 추가할 수 있다.
- addFirst()를 사용하여 첫번째에 데이터를 추가할 수 있다.
- addLast()를 사용하여 마지막에 데이터를 추가할 수 있다.
[LinkedList데이터 조회]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add("자바");
list.add("파이썬");
// 데이터 조회
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.getFirst());
System.out.println(list.getLast());
}
- get(index)를 사용하여 해당 인덱스의 데이터를 조회할 수 있다.
- getFrist()를 사용하여 첫번째 데이터를 조회할 수 있다.
- getLast()를 사용하여 마지막 데이터를 조회할 수 있다.
- 반복문을 사용하여 해당 인덱스 혹은 전체 데이터를 조회할 수 있다.
[LinkedList데이터 삭제]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add(1);
list.add(2);
// 데이터 삭제
list.remove(1);
list.clear();
list.removeFirst(); // 처음 데이터
list.removeLast(); // 마지막 데이터
}
- remove()를 사용하여 인덱스 혹은 값을 직접 입력하여 삭제할 수 있다.
- removeFirst()를 사용하여 처음 데이터를 삭제할 수 있다.
- removeLast()를 사용하여 마지막 데이터를 삭제할 수 있다.
- clear()를 사용하여 값 전체를 삭제할 수 있다.
[LinkedList데이터 변경]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add(1);
list.add(2);
// 데이터 변경
list.set(0, 3);
list.set(1, 5);
}
- set(index, Object)를 사용하여 값을 변경할 수 있다.
- 데이터를 변경하려면 해당 데이터의 인덱스를 알아야 한다.
[LinkedList데이터 검색하기]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add("자바");
list.add("파이썬");
// 데이터 검색
if(list.contains("자바")){
System.out.println("글자 검색하기");
}
}
- contains()를 사용하여 원하는 데이터를 검색할 수 있다.
[LinkedList 크기 구하기]
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 데이터 추가
list.add("자바");
list.add("파이썬");
// 크기 구하기
System.out.println(list.size());
}
- size()를 사용하여 해당 리스트의 크기를 구할 수 있다.
728x90
'Java' 카테고리의 다른 글
[Collection 프레임워크] - HashMap (0) | 2023.06.12 |
---|---|
[Collection 프레임워크] - HashSet (0) | 2023.06.12 |
[Collection 프레임워크] - ArrayList (0) | 2023.06.12 |
제네릭과 제네릭 클래스 / Wrapper 클래스 (0) | 2023.06.12 |
인터페이스 - 놀이공원 티켓 구입하기 (0) | 2023.06.08 |