2012-07-29 1 views
3

단일 스레드 응용 프로그램을 사용 중이라고 가정하면 java.util.LinkedList에 루프가 있습니까? source code에서 Entry는 개인 내부 클래스이므로 해당 값을 조작 할 방법이 없습니다. 궁금해서 링크에서 루프를 찾는 것은 인터뷰에서 인기있는 질문입니다. 아무도 루프를 피하기 위해 목록을 디자인하는 방법을 묻지 않습니다. 아니면 내가 여기서 뭔가를 오해하고있는 것입니까?java.util.LinkedList에 루프가있을 수 있습니까?

+0

목록의 "루프"란 무엇입니까? 네가 묻고 자하는 것을 이해하지 못했다. 원형 목록을 의미 했습니까? – davidbuzatto

+0

이전 노드 중 하나를 가리키는 단일 연결 목록에서 나중 노드의 루프. –

답변

1

j.u.LinkedList는 lops 생성을 위해 API를 노출하지 않으므로 지원되지 않습니다. 어쩌면 반성 폭력이 발생할 수도 있습니다.

나는 종종 자신의 목록을 굴리는 링크 된 목록이없는 표준 라이브러리가있는 C 프로그래머 세대에서 나온 것이라고 생각합니다. 또한 C에 개인 수식어가 없으므로 원하는 경우 C 연결 목록에 항상 루프를 만들 수 있습니다.

+0

그래, 그렇게 생각 했어. –

1

특정 목록 구현을 노출하지 않는 인터페이스를 제공하여 링크 된 목록에서 루프를 피할 수 있습니다. 그것이 자바에서 일어나는 일이다. java.util.List은 인터페이스이고 java.util.LinkedList은 실제로 주요 목록 인터페이스 외부에 많은 것을 노출시키지 않는 구현 중 하나입니다.

인터뷰 또는 컴퓨터 과학 수업은 대부분 마음에 드는 방식으로 노드를 연결할 수있는 링크 된 목록의 이론적 구현에 관심이 있습니다.

귀하의 질문에 대답 : 아니오 당신은 루프를 가질 수 없습니다 java.util.LinkedList.

0

정렬에 대한 오해가있을 수 있습니다. 누군가 인터뷰 질문을하는 데는 여러 가지 이유가 있습니다.

  1. 이 같은
의 자바 구현을 논의
  • 프로그래밍 연습에서 실수를 고려할 수 있습니다 연결리스트의 개념을 이해 : 면접 질문의이 종류는 당신이 얼마나 잘 볼 수 있도록 설계되었습니다

    구현 방법을 이해해야 할 경우 분명히 Java 코드에 액세스 할 수 있으므로 세 번째 사항은 중요하지 않습니다.

  • 관련 문제