cuốn sách gpt4 ai đã làm

Liên kết Bộ sưu tập thành Bộ sưu tập trong phương thức Java

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 19:45:24 32 4
mua khóa gpt4 Nike

Tôi đã tạo một lớp Bộ sưu tập mở rộng ArrayList để thêm một số phương thức hữu ích. Nó trông như thế này:

lớp công khai Bộ sưu tập mở rộng ArrayList {
// một số phương pháp...
}

Tôi muốn có thể hợp nhất Bộ sưu tập Bộ sưu tập thành Bộ sưu tập, như thế này:

{{1, 2}, {2,3}, {1}, {2}, {}} -> {1, 2, 2, 3, 1, 2}

Tôi biết một phương thức tĩnh sẽ trông như thế nào:

public static Collection unity(Collection<>> arr) {
Bộ sưu tập newCollection = Bộ sưu tập mới<>();

for(Bộ sưu tập phần tử : arr) {
newCollection.merge(element);
}

trả lại Bộ sưu tập mới;
}

Nhưng tôi không biết làm cách nào để làm cho phương thức này không tĩnh (để nó không chấp nhận bất kỳ tham số nào, như thế này:

Bộ sưu tập list = listOfLists.unite();

). Điều này có thể thực hiện được không? Nếu có, bạn có thể giúp tôi giải quyết nó?

câu trả lời hay nhất

Không có ý nghĩa đối với bất kỳ loại cụ thể nàoT .nếu nhưTkhông thuộc về Bộ sưu tậpNhập rồi vào đoàn kết()là một phương pháp không liên quan (nếu bạn có một ArrayListModified , chẳng hạn, bạn không thể làm phẳng nó vì điều đó thật lố bịch).

Vì vậy, bạn phải thực hiệnTLiên kết với bộ sưu tập:

lớp công khai ArrayListModified> mở rộng ArrayList {

Bộ sưu tập công khai unity() {
Bộ sưu tập newCollection = new ArrayList<>();

for (Phần tử Collection : this) {
newCollection.addAll(element);
}

trả lại Bộ sưu tập mới;
}
}

Hoặc sử dụng một để chấp nhận một ArrayListModified<>> Các tham số phương thức tĩnh giống như cách triển khai hiện tại của bạn (mặc dù nó không cần phải tĩnh).

Về java - Union of Collections to Collections trong các phương thức Java, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/54723301/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress