[챗GPT로 코딩 공부] 자바 for문 stream으로 변경하기

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jun 26, 2024
[챗GPT로 코딩 공부] 자바 for문 stream으로 변경하기
✍🏼
챗GPT, 개발 공부에 있어서 든든한 친구 같은 존재이죠. 내일배움캠프의 수강생들도 혼자 공부할 때에는 챗GPT의 도움을 받고 있는데요. 오늘은 내일배움캠프 수료생들의 챗GPT 경험담을 보고, 여러분의 개발 공부에 적용해봅시다.
 
for 문으로 이미 작성한 코드를 더 간결하고 가독성 좋게 만들기 위해 stream으로 변경하는 작업을 진행하였습니다. stream에 대해서 학습하면서 해당 작업을 병행하였습니다. 특히나 이중 for문같은 경우에는 stream 변경 작업이 서툴고 오래 걸려서 gpt의 도움을 받아 빠르게 진행하고자 변경 작업을 gpt에게 질문하고 검증하는 작업을 진행하였습니다.
 

for문 stream 코드로 변경하기

for문으로 작성한 기존 코드를 gpt에게 stream 코드로 변경하는 질문들을 진행하였습니다.
for (Order order : ordersDB) { List<OrderItem> orderItemList = order.getOrderItemList(); for (OrderItem orderItem : orderItemList) { System.out.println("- " + orderItem.getName() + "\t W " + orderItem.getPrice()); } } 위 자바 코드를 stream으로 변경해주세요.
주어진 자바 코드를 스트림을 사용하는 방식으로 변경하려면 다음과 같이 할 수 있습니다. 먼저, ordersDBOrder 객체를 스트림으로 변환하고, 각 Order 객체의 orderItemList을 펼치고 각 OrderItem의 정보를 출력합니다.
ordersDB.stream() .flatMap(order -> order.getOrderItemList().stream()) .forEach(orderItem -> System.out.println("- " + orderItem.getName() + "\t W " + orderItem.getPrice()));
위 코드에서 ordersDBOrder 객체의 컬렉션이라고 가정합니다. stream() 메서드를 사용하여 스트림으로 변환한 후, flatMap을 사용하여 각 OrderorderItemList을 펼치는데, 이로 인해 OrderItem의 스트림이 생성됩니다. 그런 다음 forEach를 사용하여 각 OrderItem의 정보를 출력합니다.
 
위 대화 내역과 같이 어떤 객체에 대해서 스트림으로 변환하고 어떻게 사용했는지 자세하게 gpt가 답변을 해주면서 코드까지 작성해주는 것을 볼 수 있습니다. 이를 통해 stream에 대해 더 쉽게 이해하고 학습할 수 있는 시간이 되었습니다.
 
만약 다시 물어본다면, 최상의 답변을 얻기 보다는 스스로 stream으로 변경해보고 gpt가 변경해준 stream 코드와 비교해가며 stream에 대해서 더 자세하게 공부했으면 좋았을 것 같습니다.
notion image
 
 
 
 

내일배움캠프가 여러분의 러닝메이트가 되어드리겠습니다

내일배움캠프의 많은 수강생들이 부트캠프 생활을 수료하고 현업에서 개발자로 활약하고 있습니다. 내일배움캠프는 모든 운영진이 교육, 특강, 12시간 밀착 케어, 찐한 관리, 인재 채용까지 열과 성을 다해 수강생들의 꿈을 지원하고 있습니다. 수많은 장애물을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드리겠습니다. 내일배움캠프과 함께 여러분의 개발자 여정을 시작하세요.
 
 
CREDIT
글 | 손창현 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
Share article
Subscribe to our newsletter

내일배움캠프 블로그