자바 LinkedList 질문
안녕하세요.
현재 자바를 공부 중인데 자바 표준라이브러리에 있는 LinkedList는 insertAt() 대신 add()가 있는데 insertAt()과 동일하게 봐도 될까요?
그리고 전체 구조도 동일하게 봐도 되는지 질문 드립니다.
감사합니다.
답변 1
1
안녕하세요 engudengud님!
자바로 공부중이시군요?
자바에서 LinkedList의 add는 이 수업에서 insertAt()함수와 거의 똑같습니다.
자바의 add 함수는 인덱스를 넣으면 해당 인덱스에 데이터 삽입을 하고
인덱스를 넣지 않으면 가장 끝에 삽입되죠.
아래 코드처럼 말이죠.
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(0, 0); // 9번 인덱스에 0추가
list.add(11); // 가장 뒤에 11추가이 수업에서 우리가 만든 insertAt()함수는 인덱스로만 데이터를 삽입합니다.
아래 코드처럼 말이죠.
let list = new LinkedList();
list.insertAt(0, 0); // 0번 인덱스에 0추가우리가 만든 연결리스트로 가장 끝에 삽입하려면 다음과 같은 코드를 사용합니다.
list.insertLast(11); //가장 뒤에 11추가
자바의 표준 라이브러리가 조금 더 사용하기 편하게(?) 만들어졌습니다.
우리 수업에서 만든 연결리스트는 next만 가지고 있어서 이전 노드는 가리키지 못하고 다음 노드만 가리키는 단방향 연결리스트입니다.
반면 자바 표준 라이브러리의 연결리스트는 next뿐만 아니라 prev로 이전 노드를 가리키고 있는 양항뱡 연결리스트라는 것이 차이점입니다.
궁금증이 해결되셨나요? 😊
1
맞습니다.
자바와 마찬가지로 대부분 언어에는 연결리스트가 라이브러리도 존재합니다.
코드를 외우기 보다는 연결리스트 구조, 어떻게 구현하는지 이해하는 방식이 좋은 접근인 것 같습니다 ㅎㅎ
이해가 되었다면 그 다음부터는 잘 사용하면 되겠죠? 😀
응원하겠습니다!
연결리스트 삽입삭제 O(1) 아닌가요?
0
5
2
큐의 마지막 데이터가 head에 위치해야 하는 이유가 궁금합니다.
0
71
2
이중연결 리스트 데이터 삭제시 질문이 있습니다.
1
64
2
자바스크립트 배열은 동적이 아닌가요?
1
87
2
자바스크립트 배열
0
77
2
코테에서 링크리스트 자료구조를 사용해야 하면, 이번 강의에서 구현한 메서드들도 모두 직접 구현하면 되나요?/
0
153
2
공부 방식 질문 드립니다.
1
117
2
메모이제이션과 타뷸레이션 관련해서 질문드립니다.
1
169
2
병합정렬에서 질문이 있습니다.
2
142
1
병합정렬 질문 있습니다.
1
137
5
데이터 삽입, 삭제 함수 오류 범위 설정
0
158
2
해시 테이블에서 질문이 잇습니다.
2
128
2
시간복잡도 계산 시 1회 연산당 연산량은 왜 고려하지 않는 건가요?
1
147
2
터미널 설정
0
114
2
2:13분 관련 질문입니다
0
91
1
8:47초경부터 9:00초까지 질문입니다.
1
135
2
tail을 삭제하는 경우에 관련해서 질문이 있습니다.
0
107
1
2:36초 head 위치가?
1
111
2
환경구축강의 중 터미널 파일 실행오류
0
162
2
4:58 이중for문 질문있습니다.
0
104
1
hanoi함수 처음 호출에 대해서 여쭤봅니다.
1
133
2
해쉬테이블 데이터 관련해서 질문있습니다.
0
149
2
자바스크립트 Map과 어떤 차이가 있나요??
0
205
2
질문이있습니다.
0
104
1





