하중분류
2026년 4월 14일 09:30분
민수기 4장은 성막 기구를 세 레위 가족에게 나눠 운반하게 합니다. 나는 기구 목록에 운반 담당 가족을 태그로 붙이고, 가족별로 묶어 출력하는 분류기를 만들었습니다.
package com.jesusbornd.numbers;
import java.util.*;
import java.util.stream.Collectors;
public class Numbers_04_Chapter_Lv1 {
record Item(String name, String carrier) {}
public static void main(String[] args) {
List<Item> items = List.of(
new Item("법궤", "고핫"),
new Item("진설병 상", "고핫"),
new Item("등잔대", "고핫"),
new Item("번제단", "고핫"),
new Item("성막 휘장", "게르손"),
new Item("성막 덮개", "게르손"),
new Item("뜰 휘장", "게르손"),
new Item("성막 널판", "므라리"),
new Item("기둥과 받침", "므라리")
);
Map<String, List<Item>> grouped = items.stream()
.collect(Collectors.groupingBy(Item::carrier, LinkedHashMap::new, Collectors.toList()));
grouped.forEach((carrier, cargo) -> {
System.out.println("[" + carrier + "]");
cargo.forEach(i -> System.out.println(" - " + i.name()));
});
}
}
from collections import defaultdict
items: list[tuple[str, str]] = [
("법궤", "고핫"),
("진설병 상", "고핫"),
("등잔대", "고핫"),
("번제단", "고핫"),
("성막 휘장", "게르손"),
("성막 덮개", "게르손"),
("뜰 휘장", "게르손"),
("성막 널판", "므라리"),
("기둥과 받침", "므라리"),
]
grouped: dict[str, list[str]] = defaultdict(list)
for name, carrier in items:
grouped[carrier].append(name)
for carrier, cargo in grouped.items():
print(f"[{carrier}]")
for item in cargo:
print(f" - {item}")
Search
Categories
← 목록으로
Comments
무게를 미리 분류해두면 급할 때 헷갈리지 않아요.