Tôi hiện đang tìm hiểu API thu thập Java và cảm thấy tôi hiểu rõ các khái niệm cơ bản, nhưng tôi chưa bao giờ hiểu tại sao API chuẩn này không bao gồm triển khai Biểu đồ. Ba lớp cơ sở có thể dễ hiểu (Danh sách, Bộ và Bản đồ) và tất cả các triển khai của chúng trong API hầu như đơn giản và nhất quán.Tại sao API Bộ sưu tập Java không bao gồm triển khai Biểu đồ?
Xem xét tần suất biểu đồ xuất hiện như một cách tiềm năng để mô hình hóa một vấn đề nhất định, điều này không có ý nghĩa với tôi (có thể nó tồn tại trong API và tôi không tìm đúng nơi khóa học). Steve Yegge đề xuất trong một bài đăng trên blog của mình rằng một lập trình viên nên xem xét đồ thị trước khi tấn công một vấn đề và nếu miền vấn đề không phù hợp với cấu trúc dữ liệu này, thì chỉ xem xét các cấu trúc thay thế.
Dự đoán đầu tiên của tôi là không có cách phổ biến để biểu thị đồ thị hoặc giao diện của chúng có thể không đủ chung để triển khai API hữu ích? Nhưng nếu bạn phân tách một đồ thị thành các thành phần cơ bản của nó (đỉnh và một tập hợp các cạnh nối một số hoặc tất cả các đỉnh) và xem xét các cách đồ thị thường được xây dựng (các phương thức như addVertex (v) và insertEdge (v1, v2)) có vẻ như việc triển khai Biểu đồ chung sẽ có thể và hữu ích.
Cảm ơn bạn đã giúp tôi hiểu điều này tốt hơn.
API Java đầy lỗ. Không cần phải là lý do cho họ. – skaffman
API Java SE chỉ cung cấp API * cơ bản * để xây dựng thêm. Đó là lý do tại sao có nhiều API "bên thứ ba" cụ thể/thuận tiện hơn mà bạn có thể sử dụng ở trên cùng của API Java SE. – BalusC