퀴즈 10 질문
안녕하세요 퀴즈 10 학습중
강의에서는 ArrayList 로 customerList를 만드셨는데
저는 Arrays.asList로 구현을 하려고 해보았습니다.
작동은 잘 되지만 객체를 asList 로 넣으려면 저런식으로 넣는게 맞는건가요?
package chap_10;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class _Quiz_10 {
public static void main(String[] args) {
List<Customer> customerList = new ArrayList<>();
customerList = Arrays.asList(new Customer[]{new Customer("챈들러", 50), new Customer("레이첼", 42), new Customer("모니카", 20), new Customer("벤자민", 18), new Customer("제임스", 5)});
customerList.stream().map(x -> x.age >= 20 ? x.name + " 5000원" : x.name + " 무료").forEach(System.out::println);
}
}
class Customer {
String name;
int age;
public Customer(String name, int age) {
this.name = name;
this.age = age;
}
}
답변 2
1
안녕하세요?
네, 작성하신 방법이 맞습니다. 다만 조금 더 간소하게 할 수 있는 방법이 있는데요. 우선은 customerList 는 null 로 초기화를 해두었다고 가정합니다.
List<Customer> customerList = null; // null 값으로 초기화먼저 작성하신 방법과 유사한 형태로 코드를 작성해보았습니다. array1 이라는 배열을 일반적인 방법으로 만들고 asList( ) 에 넣었습니다. 가독성을 위해 각 객체마다 줄바꿈을 하였습니다.
// 방법 1 : 일반적인 방법
Customer[] array1 = new Customer[] {
new Customer("챈들러", 50),
new Customer("레이첼", 42),
new Customer("모니카", 20),
new Customer("벤자민", 18),
new Customer("제임스", 5)
};
customerList = Arrays.asList(array1);이번에는 new Customer[ ] 부분을 생략하고 대신 중괄호 { } 로 감싸는 방법입니다. 몇 글자 더 줄일 수 있네요.
// 방법 2 : new Customer[] 부분 생략
Customer[] array2 = {
new Customer("챈들러", 50),
new Customer("레이첼", 42),
new Customer("모니카", 20),
new Customer("벤자민", 18),
new Customer("제임스", 5)
};
customerList = Arrays.asList(array2);마지막으로 앞의 코드에서 array2 를 따로 만들어서 처리하지 않고 하나로 합쳐서 바로 집어 넣었습니다. 셋 중에서 가장 간단한 방법입니다.
// 방법 3 : 조금 더 간략하게 줄인 방법
customerList = Arrays.asList(
new Customer("챈들러", 50),
new Customer("레이첼", 42),
new Customer("모니카", 20),
new Customer("벤자민", 18),
new Customer("제임스", 5));퀴즈는 정말 잘 풀어주셨습니다. 작성하신 코드도 옳은 답이며, 앞에서 소개드린 방법도 함께 익혀두시면 도움되리라 생각합니다.
감사합니다 😊
자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?
1
146
2
static이 뭐였는지 기억이 안나요 ㅜㅜ
0
119
2
Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의
0
72
1
사고력 키우는 법이 어떤게 있나요?
0
94
2
getter setter
0
103
2
섹션9. 66 메소드 오버로딩 시 질문이 있습니다.
0
80
1
안녕하세요 갑자기 프로그램 에러가 떠서 안되네요
0
76
2
변수 이름짓는법
0
114
2
intelli J 실행오류
0
115
2
혹시 이건 수학적 사고가 부족한 걸까요?
0
152
2
영상이 재생이 안됩니다.
0
167
3
이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.
0
117
2
응용이 어렵습니다.
0
207
2
IntelliJ가 보이지 않습니다.
0
187
3
JDK 버전 문의
0
130
2
BlackBox 파일 내에서 메소드 정의
0
136
1
동기화
0
123
2
Iterator 문의
0
105
1
코드 순서 문의
0
143
1
클래스 메소드
0
150
2
Quiz_05 관련 질문드립니다 !
0
118
2
다운로드가 안됩니다
0
165
2
다형성
0
120
2
HashMap
0
81
2





