강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

류정균님의 프로필 이미지
류정균

작성한 질문수

김영한의 실전 자바 - 중급 2편

직접 구현하는 Set0 - 시작

O(1)의 값에 대한 질문

해결된 질문

작성

·

135

·

수정됨

2

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요 MyheshSetV0에 클래스에서

image.png

(밑의 코드는 중략) 이 클래스의 인스턴스 변수인 int[] elementData 배열은 기본형이기에 모두 0으로 초기화 되어지는데

image.png

이러한 메인 클래스에서 첫 set.addO(1)이 되는 부분이 이해가 잘 안되네요 ㅜㅜ

image.png

결국 기본형 배열에 0으로 초기화가 되어있으니 끝까지 비교가 되어 처음 add 역시 O(n)이 될 것 같아서 Integer 제너릭 타입은 널이 들어가서 for-each문 배열을 안 돌지만 int형은 0으로 n번째만큼 돌지 않을까? 라는 생각을 하고 있습니다 혹시 가르쳐 주실 수 있을까요

(요약문) int[] elementData는 기본형으로 0으로 전부 초기화 contains의 0값을 data에 다 넣어서 == 비교처리가 됨으로 O(n)처리가 되지 않을지 질문( 추후 Integer배열(null 초기화)로 가정하면 될지)

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 류정균님

생각하신 내용이 맞습니다 🙂

이 부분은 메뉴얼을 수정해야겠네요.

감사합니다.

류정균님의 프로필 이미지
류정균
질문자

영한님 하나하나 답변 달아주셔서 너무 감사할 따름입니다!! 덕분에 멀게만 느껴졌던 자바를 깊게 이해할 수 있고 재밌게 느껴지는것 같습니다. 제가 더 감사합니다 ㅜㅜ

1

류정근님의 생각이 맞는 것 같은데요.. 저도 궁금해서 테스트 해보니 (사진 참조)
for문을 끝까지 돌은 다음에 빠져나가더라고요.

image.png


류정균님의 프로필 이미지
류정균
질문자

contains에 증감식쓰는 생각을 저는 못했네요 와

류정균님의 프로필 이미지
류정균

작성한 질문수

질문하기