Collection - 확장foreach 구문
확장 반복(foreach)문
전체를 편하게 꺼낼 수 있는 반복문
일부분은 꺼낼 수 없음
index가 필요하지 않음(알 수 없음)
Iterable을 상속받은 클래스는 모두 foreach 구문을 사용할 수 있다.
- 일반적인 반복문으로 출력
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test04_1 {
public static void main(String[] args) {
//Generic type 에는 클래스만 작성할 수 있다(only 참조형)
List<Integer> list = new ArrayList<>();
list.add(12);
list.add(21);
list.add(22);
list.add(30);
list.add(35);
list.add(36);
for(int i=0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
- 확장 반복문으로 출력
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test04_2 {
public static void main(String[] args) {
//Generic type 에는 클래스만 작성할 수 있다(only 참조형)
List<Integer> list = new ArrayList<>();
list.add(12);
list.add(21);
list.add(22);
list.add(30);
list.add(35);
list.add(36);
//확장 반복(foreach)문
for(int n : list) {
System.out.println(n);
}
}
}
Collection - 셔플, 리버스, 정렬
Collections 클래스를 이용한 List 보조 처리
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test05 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= 45; i++) {
list.add(i);
}
System.out.println(list);
//순서 반대로 바꾸기(reverse)
Collections.reverse(list);
System.out.println(list);
//순서 랜덤으로 섞기(shffle)
Collections.shuffle(list);
System.out.println(list);
//순서대로 정렬(sort)
Collections.sort(list);
System.out.println(list);
}
}
Q. 이번 주 로또번호 추첨 - 1부터 45사이의 숫자 6개 - 복원 추출 방법
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class Test06 {
public static void main(String[] args) {
Random r = new Random();
List<Integer> lotto = new ArrayList<>();
for(int i=0; i < 6; i++) {
int number = r.nextInt(45) + 1;
// if(lotto.contains(number) == false) {
if(!lotto.contains(number)) {
lotto.add(number);
}
else {
i--;
}
}
Collections.sort(lotto);
// System.out.println(lotto);
for(int number : lotto) {
System.out.println(number);
}
}
}
6
8
10
14
35
39
Q. 이번 주 로또번호 추첨 - 1부터 45사이의 숫자 6개 - 비복원 추출 방법
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List<Integer> bowl = new ArrayList<>();
for(int i=1; i <=45; i++) {
bowl.add(i);//auto-boxing 코드(int ---> Integer)
}
Collections.shuffle(bowl);
System.out.println(bowl);
//앞에서 6개를 잘라내서 새롭게 보관
List<Integer> lotto = bowl.subList(0, 6);
System.out.println(lotto.getClass());
Collections.sort(lotto);
System.out.println(lotto);
}
}
[4, 9, 18, 23, 35, 36]
선형 구조 - List 비교
시작과 끝이 있는 구조
Q. 네이버 사타리타기 구현
네이버 사다리타기 게임을 해보시면서 게임에 필요한 그래픽을 제외한 나머지 화면들을 구현하세요
필요한 정보는 사용자에게 입력받으시기 바랍니다.
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
// 1. 인원수 설정
Scanner sc = new Scanner(System.in);
System.out.print("인원 수 설정 : ");
int size = sc.nextInt();
sc.nextLine();// 엔터 제거
if (size < 2 || size > 24) {
System.err.println("인원을 2명 이상 24명 이하로 설정하세요");
System.exit(-1);// 비정상종료
}
// 2. 이름 입력 및 항목 입력
List<String> names = new ArrayList<>(size);
List<String> events = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
System.out.print("이름 입력 : ");
String name = sc.nextLine();
names.add(name);
}
for (int i = 0; i < size; i++) {
System.out.print("항목 입력 : ");
String event = sc.nextLine();
events.add(event);
}
sc.close();
Collections.shuffle(events);
for (int i = 0; i < size; i++) {
System.out.print(names.get(i));
System.out.print(" → ");
System.out.print(events.get(i));
System.out.println();
}
}
}
인원 수 설정 : 4
이름 입력 : 가
이름 입력 : 나
이름 입력 : 다
이름 입력 : 라
항목 입력 : 1
항목 입력 : 2
항목 입력 : 3
항목 입력 : 4
가 → 4
나 → 3
다 → 1
라 → 2
Collection - 객체 저장
Q. 학생을 저장할 List 구현
package api.collection;
import java.util.Objects;
public class Student {
public String getName() {
return name;
}
@Override
public String toString() {
return "Student [name=" + name + ", score=" + score + "]";
}
public Student(String name, int score) {
super();
this.name = name;
this.score = score;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
return Objects.hash(name, score);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
return Objects.equals(name, other.name) && score == other.score;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
private String name;
private int score;
}
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test09 {
public static void main(String[] args) {
// List 생성
List<Student> list = new ArrayList<>();
// 데이터 추가 - add()
// list.add("피카츄", 50);//String, int --> error
list.add(new Student("피카츄", 50));// Student
list.add(new Student("라이츄", 70));
list.add(new Student("파이리", 85));
// 출력
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
System.out.println(s.getName() + ", " + s.getScore());
}
for (Student s : list) {
System.out.println(s.getName() + ", " + s.getScore());
}
// 개수확인
System.out.println(list.size());
// 검색
// = 우리가 만든 클래스는 동등 비교가 정의되어 있지 않다.
// = 반복문을 통해서 이름이나 점수등을 비교하든가
// = 동등비교(equals)를 정의하면 된다.
System.out.println(list.contains("피카츄"));
System.out.println(list.contains(new Student("피카츄", 50)));
System.out.println(list.indexOf(new Student("피카츄", 50)));
// 삭제
// = index를 이용하여 삭제하는 방법은 가능하다.
// = 데이터를 이용하여 삭제하려면 동등비교(equals) 정의가 필요
list.remove(new Student("피카츄", 50));
list.remove(1);
System.out.println(list.size());
}
}
[Student [name=피카츄, score=50], Student [name=라이츄, score=70], Student [name=파이리, score=85]]
피카츄, 50
라이츄, 70
파이리, 85
피카츄, 50
라이츄, 70
파이리, 85
3
false
true
0
1
Q. 다음 데이터들을 `Member`라는 클래스와 `ArrayList`를 이용하여 저장한 뒤 문제를 푸세요
- 첫 번째 회원 : (아이디 : student) , (비밀번호 : student1234) , (닉네임 : 수강생)
- 두 번째 회원 : (아이디 : teacher) , (비밀번호 : teacher1234) , (닉네임 : 강사)
- 세 번째 회원 : (아이디 : master) , (비밀번호 : master1234) , (닉네임 : 관리자)
사용자에게 아이디와 비밀번호를 입력받아 로그인을 수행하는 프로그램을 구현하세요.
저장소에 해당 아이디와 비밀번호를 가진 데이터가 존재하면 닉네임을 이용하여 다음과 같이 출력
[닉네임]님 어서오세요!
저장소에 해당 아이디와 비밀번호를 가진 데이터가 존재하지 않으면 다음과 같이 출력
해당 정보가 존재하지 않습니다.
package api.collection;
import java.util.Objects;
public class Member {
private String id;
private String password;
private String nickname;
@Override
public String toString() {
return "Member [id=" + id + ", password=" + password + ", nickname=" + nickname + "]";
}
public Member(String id, String password, String nickname) {
super();
this.id = id;
this.password = password;
this.nickname = nickname;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public Member(String id, String password) {
super();
this.id = id;
this.password = password;
}
@Override
public int hashCode() {
return Objects.hash(id, password);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Member other = (Member) obj;
return Objects.equals(id, other.id) && Objects.equals(password, other.password);
}
}
package api.collection;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test10_3 {
public static void main(String[] args) {
// 입력
List<Member> db = new ArrayList<>();
// db.add("student", "student1234", "수강생");
db.add(new Member("student", "student1234", "수강생"));
db.add(new Member("teacher", "teacher1234", "강사"));
db.add(new Member("master", "master1234", "관리자"));
Scanner sc = new Scanner(System.in);
System.out.print("아이디를 입력하세요 : ");
String id = sc.next();
System.out.print("비밀번호를 입력하세요 : ");
String password = sc.next();
sc.close();
// List의 기능을 활용하여 로그인 판정을 수행(equals, hashCode를 재정의해야함)
Member user = new Member(id, password);
int index = db.indexOf(user);// user의 위치를 찾는다
// System.out.println("index = " + index);
if (index >= 0) {
Member find = db.get(index);
System.out.println("[" + find.getNickname() + "]님 환영합니다!");
} else {
System.out.println("정보가 일치하지 않습니다");
}
}
}
아이디를 입력하세요 : master
비밀번호를 입력하세요 : master1234
[관리자]님 환영합니다!
Q. 오디션 투표 프로그램
등록된 후보(Artist)들에 대한 정보를 저장소에 저장하시고
사용자에게 이름을 입력받아 투표를 진행하는 프로그램을 구현
투표수는 최초에 0으로 설정되며,
사용자가 이름을 입력하면 있을 경우 투표수 1 증가, 없으면 없다는 메세지를 화면에 출력
사용자가 "그만" 이라고 입력하면 투표를 종료하면서 투표 결과를 화면에 출력
- 후보 정보
- 이름 : 녹두 , 포지션 : 보컬 , 투표수 : 0
- 이름 : 대니구 , 포지션 : 바이올린 , 투표수 : 0
- 이름 : 제이유나 , 포지션 : 보컬 , 투표수 : 0
- 이름 : 박다울 , 포지션 : 거문고 , 투표수 : 0
- 이름 : 황린 , 포지션 : 일렉기타 , 투표수 : 0
<예시>
투표할 이름 입력 : 피카츄
그런 사람은 없습니다.
투표할 이름 입력 : 박다울
[박다울]님에게 투표가 완료되었습니다.
투표할 이름 입력 : 황린
[황린]님에게 투표가 완료되었습니다.
투표할 이름 입력 : 그만
투표가 종료되었습니다.
<투표 결과>
이름 : 녹두 , 포지션 : 보컬 , 투표수 : 0
이름 : 대니구 , 포지션 : 바이올린 , 투표수 : 0
이름 : 제이유나 , 포지션 : 보컬 , 투표수 : 0
이름 : 박다울 , 포지션 : 거문고 , 투표수 : 1
이름 : 황린 , 포지션 : 일렉기타 , 투표수 : 1
package api.collection;
import java.util.Objects;
public class Artist implements Comparable<Artist> {
// 멤버 변수(필드)
private String name;
private String position;
private int count;
// setter & getter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public Artist(String name, String position) {
super();
this.name = name;
this.position = position;
// this.count = 0;
}
@Override
public String toString() {
return "Artist [name=" + name + ", position=" + position + ", count=" + count + "]";
}
public void vote() {
this.count++;
}
// 이름이 같으면 같은 대상이라는 비교기준을 설정하고 싶으면
// --> equals & hashCode
@Override
public int hashCode() {
return Objects.hash(name);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Artist other = (Artist) obj;
return Objects.equals(name, other.name);
}
public Artist(String name) {
super();
this.name = name;
}
// 정렬 기준을 내장시키고 싶다면
// --> Comparable 상속 후 compareTo 재정의
@Override
public int compareTo(Artist other) {
if (this.getCount() == other.getCount()) {// 투표수가 같으면
return this.getName().compareTo(other.getName());// 이름 오름차순
} else {// 투표수가 다르면
return other.getCount() - this.getCount();// 투표수 내림차순
}
}
}
(1) 투표수 증가 시키기
package api.collection;
public class Test11 {
public static void main(String[] args) {
Artist a = new Artist("대니구", "바이올린");
System.out.println(a);
// 투표 수 1 증가
// a.count++;
int count = a.getCount();
a.setCount(count + 1);
System.out.println(a);
// vote() 메소드를 부르면 투표수가 1 증가
a.vote();
System.out.println(a);
}
}
Artist에 메소드 추가하기
public void vote() {
this.count++;
}
(2) 5명의 아티스트들을 리스트에 등록한 뒤 출력
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test11_1 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
//추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
//출력
for(int i=0; i < list.size(); i++) {
Artist art = list.get(i);
System.out.println(art);
}
System.out.println();
for(Artist art : list) {
System.out.println(art);
}
}
}
(3) 저장되어있는 아티스트들을 "이름"으로 찾기
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test11_2 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
// 검색
String name = "황린";
// 1. 비어있는 리모컨을 준비
Artist find = null;
// if(0번 위치에 있는 Artist 의 이름이 name과 같다면) {
// find = 0번 위치의 객체 정보;
// }
// if(1번 위치에 있는 Artist 의 이름이 name과 같다면) {
// find = 1번 위치의 객체 정보;
// }
// if(2번 위치에 있는 Artist 의 이름이 name과 같다면) {
// find = 2번 위치의 객체 정보;
// }
// if(3번 위치에 있는 Artist 의 이름이 name과 같다면) {
// find = 3번 위치의 객체 정보;
// }
// if(4번 위치에 있는 Artist 의 이름이 name과 같다면) {
// find = 4번 위치의 객체 정보;
// }
// 결과
System.out.println("존재하지 않는 이름입니다");
System.out.println("해당 대상의 정보 출력");
}
}
(4) 반복문을 통해 리스트의 데이터를 직접 탐색하여 있으면 리모컨에 정보 설정
package api.collection;
import java.util.ArrayList;
import java.util.List;
public class Test11_3 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
// 검색
String name = "대니구";
// 1. 비어있는 리모컨을 준비
Artist find = null;
// 2. 반복문을 통해 리스트의 데이터를 직접 탐색하여 있으면 리모컨에 정보 설정
for (int i = 0; i < list.size(); i++) {
Artist art = list.get(i);
if (art.getName().equals(name)) {// i번 위치의 Artist 이름이 name과 같다면
find = art;// find에 찾은 객체 정보를 전달하라
break;// 찾으면 그만(성능 향상)
}
}
// 결과
// System.out.println("find = " + find);
if (find == null) {
System.out.println("찾으시는 이름은 존재하지 않습니다");
} else {
System.out.println(name + " 에 대한 검색 결과");
System.out.println(find);
}
}
}
(5) 저장되어있는 아티스트들을 스캐너를 통해 "이름"으로 찾기
package api.collection;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test11_6 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("투표할 이름 : ");
String name = sc.nextLine();
// if(name == "그만") {//안됨
if (name.equals("그만")) {
break;
} else {
// 검색 및 투표
}
}
sc.close();
// 출력
System.out.println("투표가 완료되었습니다");
for (Artist art : list) {
System.out.print("[");
System.out.print(art.getName());
System.out.print("-");
System.out.print(art.getPosition());
System.out.print("]");
System.out.print(" ");
System.out.print("득표수 : ");
System.out.print(art.getCount());
System.out.println();
}
}
}
(6) 이름 찾기와 투표 기능 합치기
package api.collection;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test11_7 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("투표할 이름 : ");
String name = sc.nextLine();
// if(name == "그만") {//안됨
if (name.equals("그만")) {
break;
} else {
// 검색 및 투표
// 1. 비어있는 리모컨을 준비
Artist find = null;
// 2. 반복문을 통해 리스트의 데이터를 직접 탐색하여 있으면 리모컨에 정보 설정
for (int i = 0; i < list.size(); i++) {
Artist art = list.get(i);
if (art.getName().equals(name)) {// i번 위치의 Artist 이름이 name과 같다면
find = art;// find에 찾은 객체 정보를 전달하라
break;// 찾으면 그만(성능 향상)
}
}
// 3. 검색 여부에 따라 다른 메세지를 준비하고, 검색 결과가 있으면 투표처리
if (find != null) {// 검색 결과가 있으면
find.vote();
System.out.println("[" + find.getName() + "] 투표가 완료되었습니다");
} else {// 검색 결과가 없으면
System.out.println("찾으시는 이름의 후보가 없습니다");
}
}
}
sc.close();
// 출력
System.out.println("투표가 완료되었습니다");
for (Artist art : list) {
System.out.print("[");
System.out.print(art.getName());
System.out.print("-");
System.out.print(art.getPosition());
System.out.print("]");
System.out.print(" ");
System.out.print("득표수 : ");
System.out.print(art.getCount());
System.out.println();
}
}
}
마무리 정렬 기능 추가
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Test11_8 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("투표할 이름 : ");
String name = sc.nextLine();
// if(name == "그만") {//안됨
if (name.equals("그만")) {
break;
} else {
// 검색 및 투표
// 1. 비어있는 리모컨을 준비
Artist find = null;
// 2. 반복문을 통해 리스트의 데이터를 직접 탐색하여 있으면 리모컨에 정보 설정
for (int i = 0; i < list.size(); i++) {
Artist art = list.get(i);
if (art.getName().equals(name)) {// i번 위치의 Artist 이름이 name과 같다면
find = art;// find에 찾은 객체 정보를 전달하라
break;// 찾으면 그만(성능 향상)
}
}
// 3. 검색 여부에 따라 다른 메세지를 준비하고, 검색 결과가 있으면 투표처리
if (find != null) {// 검색 결과가 있으면
find.vote();
System.out.println("[" + find.getName() + "] 투표가 완료되었습니다");
} else {// 검색 결과가 없으면
System.out.println("찾으시는 이름의 후보가 없습니다");
}
}
}
sc.close();
// 투표수 순으로 정렬(투표수가 같으면 이름순 정렬)
Comparator<Artist> c = new Comparator<Artist>() {
@Override
public int compare(Artist a, Artist b) {
if (a.getCount() == b.getCount()) {// 투표수가 같으면
return a.getName().compareTo(b.getName());// 이름 오름차순
} else {// 투표수가 다르면
return b.getCount() - a.getCount();// 투표수 내림차순
}
}
};
Collections.sort(list, c);
// 출력
System.out.println("투표가 완료되었습니다");
for (Artist art : list) {
System.out.print("[");
System.out.print(art.getName());
System.out.print("-");
System.out.print(art.getPosition());
System.out.print("]");
System.out.print(" ");
System.out.print("득표수 : ");
System.out.print(art.getCount());
System.out.println();
}
}
}
투표할 이름 : 녹두
[녹두] 투표가 완료되었습니다
투표할 이름 : 녹두
[녹두] 투표가 완료되었습니다
투표할 이름 : 대니구
[대니구] 투표가 완료되었습니다
투표할 이름 : 제이유나
[제이유나] 투표가 완료되었습니다
투표할 이름 : 그만
투표가 완료되었습니다
[녹두-보컬] 득표수 : 2
[대니구-바이올린] 득표수 : 1
[제이유나-보컬] 득표수 : 1
[박다울-거문고] 득표수 : 0
[황린-일렉기타] 득표수 : 0
- 추가
이름이 같으면 같은 대상이라는 비교기준을 설정
-->equals & hashCode
정렬 기준을 내장 설정
--> Comparable 상속 후 compareTo 재정의
package api.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Test11_10 {
public static void main(String[] args) {
List<Artist> list = new ArrayList<>();
// 추가
list.add(new Artist("녹두", "보컬"));
list.add(new Artist("대니구", "바이올린"));
list.add(new Artist("제이유나", "보컬"));
list.add(new Artist("박다울", "거문고"));
list.add(new Artist("황린", "일렉기타"));
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("투표할 이름 : ");
String name = sc.nextLine();
// if(name == "그만") {//안됨
if (name.equals("그만")) {
break;
} else {
// 검색 및 투표
// = hashCode와 equals 설정되어 있으므로
// = indexOf로 위치를 찾아서 확인 가능
// int index = list.indexOf(name);//이름으론 안됨
Artist art = new Artist(name);
int index = list.indexOf(art);
if (index >= 0) {// 검색 결과가 있으면
Artist find = list.get(index);
find.vote();
System.out.println("[" + find.getName() + "] 투표가 완료되었습니다");
} else {// 검색 결과가 없으면
System.out.println("찾으시는 이름의 후보가 없습니다");
}
}
}
sc.close();
// 투표수 순으로 정렬(투표수가 같으면 이름순 정렬)
Collections.sort(list);
// 출력
System.out.println("투표가 완료되었습니다");
for (Artist art : list) {
System.out.print("[");
System.out.print(art.getName());
System.out.print("-");
System.out.print(art.getPosition());
System.out.print("]");
System.out.print(" ");
System.out.print("득표수 : ");
System.out.print(art.getCount());
System.out.println();
}
}
}
'Java 웹 개발' 카테고리의 다른 글
21.09.14 - 웹 개발 입문 25일차 (0) | 2021.09.14 |
---|---|
21.09.13 - 웹 개발 입문 24일차 (0) | 2021.09.14 |
21.09.09 - 웹 개발 입문 22일차 (0) | 2021.09.09 |
21.09.08 - 웹 개발 입문 21일차 (0) | 2021.09.08 |
21.09.07 - 웹 개발 입문 20일차 (0) | 2021.09.07 |