Tôi có bản đồ sau: Map<Integer,String[]> map = new HashMap<Integer,String[]>();
Cách tạo kết hợp các giá trị trong Java?
Khóa là số nguyên và giá trị là mảng (cũng có thể được thay thế bằng danh sách).
Bây giờ, tôi muốn có được tất cả các kết hợp có thể có của các giá trị trong số các khóa. Ví dụ, giả sử bản đồ chứa các mục sau:
key 1: "test1", "stackoverflow"
key 2: "test2", "wow"
key 3: "new"
Các tổ hợp bao gồm
("test1","test2","new")
("test1","wow","new")
("stackoverflow", "test2", "new")
("stackoverflow", "wow", "new")
Đối với điều này tôi tưởng tượng một phương pháp boolean hasNext()
mà trả về true nếu có một cặp tiếp theo và một phương pháp thứ hai mà chỉ trả về bộ giá trị tiếp theo (nếu có).
Làm cách nào để thực hiện điều này? Bản đồ cũng có thể được thay thế bằng một cấu trúc dữ liệu khác.
này có thể đạt được bằng đệ quy nhưng làm thế nào ... Đó vẫn là một câu hỏi để được giải đáp ... –
Nahh :) bạn có thể dễ dàng thực hiện điều này mà không cần đệ quy. Chỉ cần đếm trong một cơ sở "biến". –