inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

문제와 풀이2

배열과 비교한 리스트의 이점 중에서 itemCount가 size++랑 비슷한거 아닌가요?

97

하연

작성한 질문수 2

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
배열과 비교한 리스트의 이점으로 itemCount와 같이 배열에 몇 개의 데이터가 추가 되었는지 추적하는 변수를 제거할 수 있다고 했는데, MyArrayList calss에서 add(E e) 메서드를 보면 size++; 부분이 동일한 역할이을 하고 있는 것이 아닌가요?

java 객체지향 코딩-테스트 알고리즘

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 하연님

하연님께서 질문하신 내용에 대해 설명드리겠습니다. 배열과 비교했을 때 리스트의 가장 큰 장점 중 하나는 동적 크기 조절과 데이터 관리의 편리함에 있습니다.

  1. itemCount vs. size: 배열에서는 itemCount 변수를 사용해 현재 들어간 원소의 수를 직접 관리해야 합니다. 그래서 추가할 때마다 수작업으로 이 변수를 증가시켜야 합니다. 이와 달리, 리스트 자료구조에서는 내부적으로 원소의 개수를 추적하는 변수인 size를 통해 관리하므로 사용자가 이를 직접 관리하지 않아도 됩니다.

  2. 자동 크기 조절: ArrayList와 같은 리스트 자료구조는 크기가 자동으로 조절됩니다. 이는 프로그램에서 배열을 사용하는 것보다 유연하게 사용할 수 있는 이점이 있습니다.

  3. 편리한 메서드 제공: 리스트는 배열의 크기를 수동으로 조정하거나 원소를 수동으로 관리할 필요 없이, add(), remove(), contains()와 같은 편리한 메서드를 제공합니다. 이를 통해 보다 쉽게 자료구조를 사용할 수 있습니다.

  4. size++는 내부 관리: 리스트에서 size++;는 여전히 존재하지만, 이는 사용자에게 노출되지 않고 리스트의 구현체에 의해 내부에서 관리됩니다. 사용자는 데이터 추가 메서드(add()) 호출만으로 리스트의 크기를 알고리즘적으로 조정할 수 있습니다.

링크를 통해 유사한 질문과 논의된 답변을 참고해 보시면 도움이 될 것입니다:
- “배열과 ArrayList 차이점을 알고 싶습니다”

이 링크에서는 배열과 ArrayList의 구체적인 차이점과 각자의 장단점에 대해 다루고 있습니다. 하연님께서 궁금해하시는 점에 대한 답변을 찾을 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

제네릭 타입 매개변수 제한과 관련한 문의입니다.

0

77

3

강의가 좀 버겁다 느껴질 때 학습방법 문의

1

126

4

제네릭 반환값 및 파라미터 선언 방식의 변화 <T> T

0

56

1

new T()가 안 되는 니유

0

95

1

안녕하세요, 문제와 실행 결과가 다른 부분이 있어 제보드립니다.

0

97

2

자바 로드맵 선택 질문

0

109

2

실전 자바 중급 - 2편 후 추천 강의

0

172

2

실프로젝트에서 Java25버전 사용

0

115

1

Arrays.sort

0

66

1

블로그 작성 시, 저작권 문제에 대하여

0

164

1

중급2편 56강의 bucket.add(value); 메서드가 이해가 안됩니다.

0

92

3

pop()과 poll()의 차이

0

94

1

특정 index의 노드 조회하기 질문

0

65

2

List.of() 비어있는 불변 리스트 생성

0

80

2

문제2: 개 타입 반환

0

52

2

[리뷰] 중급2편까지 겨우 완강 했습니다.

0

109

2

문제와 풀이1 Ex2와 Ex3

0

64

2

노드 삭제시 노드 null값으로 초기화

0

74

2

강의영상에 대한 질문

0

56

1

타입 매개변수 제한

0

59

1

compareTo

0

67

1

직접 구현하는 연결리스트 3 - 추가 부분 질문있습니다

0

95

3

섹션 8-58 equals and hashcode 에서 코드가 다르게 생성됨

0

68

2

퀴즈 오류 관련 문의

0

107

1