728x90
ListIterator
1.listIterator(int index)
iterator를 사용할 컬렉션의 해당 인덱스번호부터 값을 가져온다
해당 컬렉션의 인덱스 번호부터 값을 가져오기
// 해당 변수의 1번 인덱스부터 받아오기
ListIterator<Student> li2 = al.listIterator(1);
2.hasNext()
while문으로 한번 돌리고 나면 기준점이 끝으로 가있어 다시 돌려도 의미x
// ListIterator요소 꺼내는 방법 : while + hasNext()
while(li.hasNext()){
System.out.print(li.next()+" "); // a(0점) a(1점) a(2점) a(3점) a(4점)
}
// hasNext() 두번째 돌리면 처음부터 다시 가는게 아니라 이미 끝에 있기에 의미없음
while(li.hasNext()){
System.out.print(li.next()+" "); // 출력x
}
3.hasPrevious()
출력x던 hasNext()를 hasPrevious()를 쓰면 다시 출력이 된다
// hasNext() 두번째 돌리면 처음부터 다시 가는게 아니라 이미 끝에 있기에 의미없음
while(li.hasNext()){
System.out.print(li.next()+" "); // 출력x
}
System.out.println();
while(li.hasPrevious()){
System.out.print(li.previous()+" "); // a(4점) a(3점) a(2점) a(1점) a(0점)
}
System.out.println();
// hasPrevious()로 앞으로 돌렸기에 기준점이 앞으로 와있어 hasNext() 다시 작동
while(li.hasNext()){
System.out.print(li.next()+" "); // a(0점) a(1점) a(2점) a(3점) a(4점)
}
전체코드
ArrayList<Student> al = new ArrayList<>(5);
System.out.println(al.size()); // 0
for(int i=0; i< 5; i++ ){
al.add(new Student("a",i));
}
System.out.println(al); // [a(0점), a(1점), a(2점), a(3점), a(4점)]
System.out.println();
for(Student a : al){
System.out.println(al);
// 변수 al 전체를 al의 길이만큼 반복
// [a(0점), a(1점), a(2점), a(3점), a(4점)]
// [a(0점), a(1점), a(2점), a(3점), a(4점)]
// [a(0점), a(1점), a(2점), a(3점), a(4점)]
// [a(0점), a(1점), a(2점), a(3점), a(4점)]
// [a(0점), a(1점), a(2점), a(3점), a(4점)]
}
for(Student a : al){
// 변수 al의 요소 하나씩 순서대로 al길이만큼 반복
System.out.println(a);
// a(0점)
// a(1점)
// a(2점)
// a(3점)
// a(4점)
}
// ListIterator
// iterator()
ListIterator<Student> li = al.listIterator();
System.out.println(li); // java.util.ArrayList$ListItr@1b6d3586
// ListIterator요소 꺼내는 방법 : while + hasNext()
while(li.hasNext()){
System.out.print(li.next()+" "); // a(0점) a(1점) a(2점) a(3점) a(4점)
}
// hasNext() 두번째 돌리면 처음부터 다시 가는게 아니라 이미 끝에 있기에 의미없음
while(li.hasNext()){
System.out.print(li.next()+" "); // 출력x
}
System.out.println();
while(li.hasPrevious()){
System.out.print(li.previous()+" "); // a(4점) a(3점) a(2점) a(1점) a(0점)
}
System.out.println();
// hasPrevious()로 앞으로 돌렸기에 기준점이 앞으로 와있어 hasNext() 다시 작동
while(li.hasNext()){
System.out.print(li.next()+" "); // a(0점) a(1점) a(2점) a(3점) a(4점)
}
System.out.println();
System.out.println();
// al.add(new Student("a",5));
// al.add(new Student("a",6));
// 해당 변수의 1번 인덱스부터 받아오기
ListIterator<Student> li2 = al.listIterator(1);
li2.add(new Student("a",5));
li2.add(new Student("a",6));
while(li2.hasNext()){
System.out.print(li2.next()+" "); // a(1점) a(2점) a(3점) a(4점)
}
// // 컬렉션 원소 삭제 : iterator() + remove()
// 다시 해볼 것 : https://park0729.tistory.com/4
// Student del = null;
// while(li2.hasNext()){
// System.out.print(li2.next()+" "); // (1점) a(2점) a(3점) a(4점) a(5점) a(6점)
//
// del = new Student("a",1);
//
//// if(del.equals(new Student("a",1))){
//// li2.remove();
//// }
// if(del == new Student("a",1)){
// li2.remove();
// }
// }
// System.out.println(del);
728x90
반응형
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][Java] 세자리 숫자의 곱셈 과정의 수 구하기 (0) | 2022.09.26 |
---|---|
[1일1코딩][Java] Collection Map 1st practice (0) | 2022.09.25 |
22.09.24 운동기록 (0) | 2022.09.24 |
[1일1코딩][Java] collection List 8th (1) | 2022.09.23 |
22.09.22 운동기록 (0) | 2022.09.23 |