JAVAIARY

ArrayList 출력 방법 본문

review

ArrayList 출력 방법

shiherlis 2022. 9. 4. 13:45

기본 선언

public class Student {
	private String studentName;
	private int studentId;
	ArrayList<Book> booklist;

 

요구사항: booklist (arraylist)에 추가된 book의 제목을 다음과 같은 형식으로 출력 할 것.

studentName 학생이 읽은 책은 : booklist.book(0), booklist.book(1), booklist.book(2) 입니다.

 


showInfo 1: 향상된 for 문 (풀이)

	public void showInfo() {
		System.out.print(this.studentName + "학생이 읽은 책은 ");
		for (Book book : booklist) {
			System.out.print(book.getTitle() + ", ");
		}
		System.out.print("입니다.");
	}

 

 - 향상된 for문을 이용하여  출력

 - 마지막 book 다음   ,   가 출력되는 단점

 


showInfo 2 : if for 문 (내 풀이)

	int index;
	public void showInfo2() {	// index 선언 해준 후 arraylist.get(index).getter
		System.out.print(this.studentName + "학생이 읽은 책은 ");
		for (int i = 0; i < booklist.size(); i++) {
			if (i != booklist.size() - 1)
				System.out.print(booklist.get(index).getTitle() + ", ");
			else
				System.out.print(booklist.get(index).getTitle());
		}
		System.out.print("입니다.");
	}

 

  -  마지막  ,  가 출력되지 않도록 하기 위해서  if 구문을 이용하여 조건 지정

       -  i 가 0부터 시작하기 때문에 [ booklist.size() - 1 ] arraylist 사이즈에 1을 감해줌

 - booklist. get(i) 를 해줬을 때, booklist i번의 주소값이 반환됨

       -  1안) 따라서 index를 선언 해준 후 , booklist.get(index).getTitle() 을 통해 해당 인덱스 주소값에 할당된 값(title)을                          getter를 이용하여 가져옴

       -  2안) 리뷰하면서 생각남

                  어차피 인덱스번호는 i 와 동일하기 때문에 index를 따로 선언해 줄 필요 없이 i를 넣어도 같은 값이 출력됨        

System.out.print(booklist.get(i).getTitle());

showInfo 3 : 향상된 for if 문 (다른 풀이)

	public void showInfo3() {
		System.out.print(this.studentName + "학생이 읽은 책은 ");
		int count = 0;
		for (Book book : booklist) {
			count++;
			if(booklist.size() == count)
			System.out.print(book.getTitle());
			else
				System.out.print(book.getTitle()+", ");
		}
		System.out.print("입니다.");
	}

 

- count 변수 선언을 통해 booklist.size 와 같은지 비교 해줄 변수 생성

- size와 count 가 같아졌을 때 , 없는 구문 출력

 

'review' 카테고리의 다른 글

학점 부여 프로그램  (1) 2022.10.03
linkedList 노드의 추가와 삭제  (0) 2022.09.09
Singleton pattern II  (0) 2022.09.07
Singleton Pattern I  (0) 2022.09.05