LinkedList는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다.
노드들이 연결되어있고 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다.
중간에 데이터를 추가하거나 삭제해도 전체의 인덱스가 밀리거나 당겨지는 일이 없다.
LinkedList list = new LinkedList(); //타입 미설정
LinkedList<Integer> num = new LinkedList<>(); //int타입만 사용가능
LinkedList<Integer> num2 = new LinkedList<>(Arrays.asList(1, 2)); //값을 입력하면서 초기화 할수 있다.
LinkedList<Integer> num = new LinkedList<>(); //선언
num.addFirst(5); //가장 앞에 추가
num.addLast(9); //가장 뒤에 추가
num.add(3); //데이터 추가
num.add(2, 10); //2뒤에 데이터 10 추가
LinkedList<Integer> num = new LinkedList<>(Arrays.asList(1, 2, 3, 4, 5)); //선언
num.removeFirst(); //가장 앞에 있는 데이터 제거
num.removeLast(); //가장 뒤에 있는 데이터 제거
num.remove(); //0번째 index제거
num.remove(1); //1번 index제거
num.clear(); //모든 값 제거
LinkedList<Integer> list = new LinkedList<>(Arrays.asList(1, 2, 3)); //선언
System.out.println(list.contains(1)); //1이 있는지 검색 있으면 true 없으면 false
System.out.println(list.indexOf(2)); //2가 들어있는 index반환 없으면 -1