Sử dụng Java là cách tốt nhất để hợp nhất hai mảng của lớp dựa trên một số giá trị của lớp?Cách tốt nhất để hợp nhất hai Mảng lớp học dựa trên giá trị biến Class
Ví dụ, chúng tôi có hai lớp này:
public class C1{
public String id="";
public String value="";
public String tot="";
}
public Class C2{
public String id="";
public String tot="";
}
Và trong một số điểm của mã của chúng tôi, chúng tôi có hai Mảng như:
//id -value - tot
C1 a [] = { {"1","value#1",""},
{"2","value#2",""},
{"3","value#3",""},
{"4","value#4",""}
};
//id - tot
C2 b [] = { {"1","2"},
{"2","11"},
{"4","15"}
};
Mảng thức nên được như thế:
C1 f [] = { {"1","value#1","2"},
{"2","value#2","11"},
{"3","value#3",""},
{"4","value#4","15"}
};
Tôi đang cố gắng tìm ra cách tốt nhất để đạt được kết quả này mà không cần đọc một hoặc một mảng khác từ đầu đến cuối cùng, bởi vì ở đây hai mảng chỉ có vài hàng, nhưng trên thực tế chúng có thể có chiều dài 100k + ...
Sắp xếp các mảng theo khóa. Đi qua các mảng bằng cách tăng khóa, so sánh để xem chúng có khớp hay không, và nếu sau đó chúng sử dụng sự phản chiếu để sao chép tất cả các thuộc tính của C2 đến C1. – bdares
Trên bình luận là một giải pháp tốt đẹp nhưng tôi nghĩ rằng sự phản ánh là quá mức cần thiết trừ khi vì một lý do nào đó bạn không biết những trường nào cần phải được sao chép vào thời gian biên dịch. –