yeny_lab

[자료구조] ArrayList 구현 - ListIterator 클래스 [JAVA]

2020. 8. 21. 00:56·자료구조 + 알고리즘
728x90


ArrayList의 Iterator 부분을 건너뛰고 LinkedList를 학습했었다 ㄸㅣ로리!!

그래가꼬 다시 여기로 돌아왔다

ArrayList의 Iterator는 어떤 구조로 동작하게 되는지 학습 꼬

 

배울 것: ArrayList.ListIterator 클래스와 next() hasNext() previous() hasPrevious()


ArrayList.ListIterator 클래스

이 코드 작성에는 어떤 구조가 숨겨져 있을까요로리~

ArrayList객체의 어떤 반복적인 작업을 처리하기 위해서는

ListIterator라는 객체가 필요하다.

이 객체를 리턴하는 메소드가 저 맨 오른쪽에 있는 listIterator()

웅웅 저 메소드를 호출하면 새로운 ListIterator객체를 만들어서 리턴하게 된다.

 

그럼 이제 ListIterator클래스를 작성해보자.

더보기

실행클래스에서 이렇게 작성하면, ArrayList의 첫번째 노드가 갖고있는 값인 10을 리턴하도록 next()메소드를 작성해보자. 그리고 또 next()하면 그 다음노드 값, 또하면 다음, 다음... 값을 리턴하도록

아래 코드는 next()메소드이다.

next()메소드가 호출될 때마다 nextIndex값을 1씩 증가시킴으로써 다음값, 다음값, 다음값, ... 을 가져올 수 있도록 하는 구조이다.

주석처리한건 길게 늘여서 보여주신건데, 결국 한줄로 간단히 끝냈다.

그리고 hasNext()는 다음과 같은 구조

nextIndex와 size값을 비교해서 더 가져올 수 있는 것이 있는지 판단할 수 있다.


previous(), hasPrevious의 구조


add()


remove()

이것도 마찬가지

728x90

'자료구조 + 알고리즘' 카테고리의 다른 글

드디어!!  (0) 2020.12.23
[자료구조] ArrayList 구현 - remove, removeFirst, removeLast [JAVA]  (0) 2020.08.21
[자료구조] LinkedList 구현 - ListIterator 클래스 [JAVA]  (0) 2020.08.20
[자료구조] LinkedList 구현 - size, get, indexOf 메소드 [JAVA]  (0) 2020.08.20
[자료구조] LinkedList 구현 - remove, removeFirst, removeLast [JAVA]  (0) 2020.08.20
'자료구조 + 알고리즘' 카테고리의 다른 글
  • 드디어!!
  • [자료구조] ArrayList 구현 - remove, removeFirst, removeLast [JAVA]
  • [자료구조] LinkedList 구현 - ListIterator 클래스 [JAVA]
  • [자료구조] LinkedList 구현 - size, get, indexOf 메소드 [JAVA]
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
[자료구조] ArrayList 구현 - ListIterator 클래스 [JAVA]
상단으로

티스토리툴바