일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Linux
- 코딩테스트
- 반복문
- input태그
- 로그인
- javascript
- springboot
- java
- 목록
- gradle
- 시큐리티 로그아웃
- 리눅스
- 스프링 부트
- html
- 싱글톤
- 시큐리티 로그인
- Spring boot
- codingtest
- 시큐리티로그인
- StyleSheet
- security
- 프로그래머스
- springSecurity
- JAVA11
- 시큐리티
- sql
- 2차원배열
- css
- programmers
- 소스트리
Archives
- Today
- Total
JAVAIARY
ArrayList 출력 방법 본문
기본 선언
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 |