이전에 만든 요리 레시피 메모장은 Map을 선행학습하며 만들었다. 이번에는 Collection
에 대해 직접 공부하고나니 순서가 있는 데이터의 집합을 사용하고 싶어서 List
를 시도해보려고 한다.
이번엔 List를 선택한 이유
1주차 숙제 때에도
List
를 사용해보고 싶었는데Map
을 공부해보니 넘버링도 함께 들어가는 점이 간편해서Map
을 선택했었다. 하지만 공부를 해보니 레시피는 순서가 정해져있기에 순서가 있는 데이터의 집합을 선택하는 편이 맞다고 생각이 들었다.
package collection;
import java.util.ArrayList;
public class PorkKimchiData {
public static void main(String[] args) {
// 메뉴
String foodMenu = "돼지고기 김치찜";
// 선언 + 생성
ArrayList<String> stringRecipe = new ArrayList<String>();
// 레시피 추가
stringRecipe.add("1. 다진마늘 1T, 생강즙 1T, 맛술2T, 후추를 넣고 섞어서 밑간 소스를 만든 후 돼지고기에 고르게 발라준다.");
stringRecipe.add("2. 진간장 1T, 고춧가루 1T, 간 마늘 1T, 생강즙 1T, 김칫국물 3T, 설탕 1T, 후추를 섞어 양념장을 만들고 다시마 우린 물 550ml을 준비한다.");
stringRecipe.add("3. 다시마 우린물 : 조각 다시마 4장을 물 550ml에 넣고 최소 30~40분을 두면 완성!");
stringRecipe.add("4. 신김치의 속을 털어낸 후 국물이 약간 있는 상태로 준비한다. (잎이 큰 김치 추천)");
stringRecipe.add("5. 김치 위에 밑간해놓은 삼겹살을 올리고 돌돌돌 말아주면서 고기가 옆으로 빠지지 않게 싸주면 된다.");
stringRecipe.add("6. 만들어진 돼지고기 김치말이를 냄비 안에 차곡차곡 쌓아서 넣어준다.");
stringRecipe.add("7. 만들어진 돼지고기 김치말이를 냄비 안에 차곡차곡 쌓아서 넣어준다.");
stringRecipe.add("8. 뚜껑을 덮고 중불에서 25~30분 푹 끓여준다.");
stringRecipe.add("9. 양파와 대파, 청양고추를 어슷 썰어서 넣고 10분을 중약불에서 끓여준다.");
// 주의사항
String caution = "⚠\uFE0F 주의 ⚠\uFE0F \n 김치찜 요리는 센불에서 끓이면 맛이 안나기에 중불 ~ 중약불로 푹 끓이는게 Point! (인덕션이라면 4~5단계)";
// 출력
System.out.println("\uD83D\uDCE3 커비 강력추천!\n" + "[" + foodMenu + "] " + "만들기");
System.out.println(stringRecipe.toString());
System.out.println("\n" + caution);
}
}
내가 작성한 코드는 이렇게 된다.
Println
을 썼기에 Integer
를 출력했을 때처럼 한 줄씩 떨어질 것이라고 당연하게 생각하고 오히려 쉽다고 생각했었다. 그런데 이게 무슨 일일까?
입력하지도 않은 []
가 앞, 뒤로 출력되고 모든 String
이 Inline
마냥 붙어 있었다.
처음에는 for
문으로 넘버링도 표기해볼까? 싶었는데 이미 stringRecipe
에 직접 넘버링까지 포함해놓아서 그 부분은 마음을 접어두고,
를 목표로 두고 for문을 작성했다.
for (int i = 0; i < stringRecipe.size(); i++) {
System.out.println(stringRecipe.get(i));
}
stringRecipe
만큼의 사이즈로 구성해서 i
가 하나씩 늘어나 레시피가 출력되다가 stringRecipe
가 없을 때까지 출력하고 마무리 되도록 작성했다.
목표로 정한 2가지를 모두 충족했다!
// 자료구조명
String dataStructure = "List";
// 출력
System.out.println("\uD83D\uDCE3 커비 강력추천!\n" + "[ " + dataStructure + "로 " + foodMenu + "] " + "만들기");
자료구조명은 String
으로 처리해서 출력하는 제목 사이에 넣어주었다.
>> 자료구조 요리 레시피 메모장 GitHub Code 바로가기
다 만들어진 코드는 위의 깃허브에 올려놓았다.