일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 포맷은 최후의 보루
- 변수의 다양성
- KPT
- 메서드
- 클래스
- static
- #스파르타내일배움캠프TIL
- Diary 해우소
- 성장기록
- 감사기록
- diary
- 스파르타내일배움캠프
- 인스턴스
- #내일배움캠프
- Git
- 생성자
- Java의 이점
- 스레드
- #스파르타내일배움캠프
- Github_token
- 내일배움캠프
- GitHub
- 회고록
- 스파르타내일배움캠프TIL
- JVM
- TiL_1st_0419
- 해우소
- Java
- Token
- 객체지향 언어
- Today
- Total
몬그로이
ListIterator 본문
인터페이스 ListIterator
List 인터페이스에서 파생된 인터페이스로, 리스트의 요소들을 순회하고 수정하는 데 사용됨
메서드
1. ListIterator listIterator()
리스트의 첫 번째 요소부터 시작하여 리스트를 순회하는 ListIterator 객체를 반환
처음 호출 시, ListIterator는 리스트의 첫 번째 요소 앞에 위치
즉, 첫 번째 요소 이전을 가리키는 상태
2. ListIterator listIterator(int index)
지정된 인덱스부터 시작하여 리스트를 순회하는 ListIterator 객체를 반환
인덱스는 0부터 리스트 크기까지의 범위
ListIterator의 주요 기능
양방향 순회
ListIterator는 순방향과 역방향으로 리스트를 순회
next() 메서드로 순방향으로, previous() 메서드로 역방향으로 이동
요소 접근 및 수정
ListIterator를 통해 현재 가리키고 있는 요소에 접근하거나 수정
set(E e) 메서드로 현재 요소를 수정
add(E e) 메서드로 새로운 요소를 추가
요소 삭제
remove() 메서드를 사용하여 현재 가리키고 있는 요소를 삭제
next() 또는 previous()로 이동한 다음에 호출하여 삭제
*주로 순서가 있는 리스트(예: ArrayList, LinkedList)를 다룰 때 사용
// ArrayList 생성
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
list.add("date");
// ListIterator를 이용한 순방향 순회
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println("현재 요소: " + element);
}
System.out.println();
// ListIterator를 이용한 역방향 순회
while (iterator.hasPrevious()) {
String element = iterator.previous();
System.out.println("현재 요소: " + element);
}
System.out.println();
// ListIterator를 이용한 요소 수정
iterator = list.listIterator();
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("banana")) {
iterator.set("grape"); // 현재 요소를 수정
}
}
System.out.println("수정 후 리스트: " + list);
System.out.println();
// ListIterator를 이용한 요소 추가
iterator = list.listIterator();
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("cherry")) {
iterator.add("kiwi"); // 현재 위치에 새로운 요소 추가
}
}
System.out.println("추가 후 리스트: " + list);
System.out.println();
// ListIterator를 이용한 요소 삭제
iterator = list.listIterator();
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("date")) {
iterator.remove(); // 현재 요소 삭제
}
}
System.out.println("삭제 후 리스트: " + list);
'Organizing Docs > Java Docs' 카테고리의 다른 글
자바의 정석 11. 컬렉션 프레임웍(Collection Framework) 01 (0) | 2024.07.07 |
---|---|
자바의 정석 09. java.lang 패키지와 유용한 클래스 01 (0) | 2024.07.07 |
String - hashCode() (0) | 2024.07.06 |
자바의 정석 8. 예외처리 (1) | 2024.07.05 |
Coding 01 (0) | 2024.07.04 |