2010-07-22 29 views
31

Thư viện bộ sưu tập nguyên thủy Java tốt nhất là gì? (Hầu hết bộ nhớ và thời gian hiệu quả)Thư viện bộ sưu tập nguyên thủy Java hiệu quả nhất

tôi đã tìm thấy trove và FastUtil là những người sử dụng nhiều nhất, nhưng đã không tìm thấy nhiều so sánh giữa chúng (hoặc giữa những người khác)

Có bất cứ so sánh sẵn?

+1

Tôi sẽ không có. :) Nhưng tôi cũng muốn biết nếu có bất kỳ khác thì Trove và FastUtil có giá trị điểm chuẩn. – Sarmun

+0

bạn có lẽ nên bao gồm các bộ sưu tập 'java.util' làm một điểm tham chiếu, cùng với các bộ sưu tập commons của Apache và Google thu thập các bộ sưu tập/ổi nơi có tương đương. Các vấn đề sẽ là 1) so sánh như chức năng với chức năng tương tự, 2) đo mức sử dụng bộ nhớ và 3) tránh các bẫy tiêu chuẩn thường gây ra các "tiêu chuẩn vi mô" Java để cung cấp kết quả không có thật. –

+2

Việc sử dụng bộ nhớ của bất kỳ bộ sưu tập không nguyên thủy nào làm cho nó vô dụng trong trường hợp của tôi. Và trong mọi trường hợp, chúng chắc chắn cũng chậm hơn, vì vậy chúng không phù hợp với yêu cầu. Tôi không cần bất kỳ chức năng bổ sung nào, chỉ cần bản đồ/tập hợp/danh sách đơn giản hiệu quả v.v. – Sarmun

Trả lời

5

Tôi không biết về bất kỳ chuẩn mực khung nguyên gốc duy nhất nào tốt. Điều này sẽ được tốt đẹp để xem, cũng như để so sánh với các phiên bản không nguyên thủy (chỉ để hiển thị như thế nào sử thi Java Generics với autoboxing hút trong một số trường hợp hardcore).

Có điểm chuẩn from the Trove itself, tôi nghĩ cách đơn giản nhất là chuyển nó đến một vài thư viện khác.

Ngoài ra - không chắc chắn rằng bạn đã thấy rằng một thư viện - Cern's Colt có các danh sách và ma trận nguyên thủy ngay cả trước khi trove nổi lên AFAICR.

13

This comparision giữa bộ sưu tập java, trove và colt có thể hữu ích.

+1

liên kết bị hỏng ..không thể mở bằng chrome/tức là – Edge

+1

Một so sánh khác http://java.dzone.com/articles/time-memory-tradeoff-example – leventov

4

Gần đây, tôi đã mở Banana có nguồn gốc từ thư viện java. sự khác biệt so với các thư viện khác là Banana có quản lý bộ nhớ riêng, về cơ bản cho phép nó triển khai bất kỳ cấu trúc dữ liệu động nào mà không cần tạo nhiều đối tượng. Chuối cũng nhỏ hơn nhiều so với nhiều thư viện khác, bình khoảng 60k vào lúc này.

Nó đã hỗ trợ Danh sách liên kết, mà tôi không nghĩ rằng bất kỳ thư viện bộ sưu tập nguyên thủy nào khác đang cung cấp và tôi dự định sớm thêm một bộ và cây.

https://github.com/omry/banana

+0

Xin chào, thư viện tuyệt vời. Bạn đã thực hiện Set chưa? – bertie

+0

Không, nhưng nếu bạn muốn cho nó một đâm tôi có thể giúp bạn. thậm chí có thể dành chút thời gian cho nó trong một vài tuần. –

+0

Cảm ơn rất nhiều vì sự hào phóng của bạn, nhưng tôi không vội vàng vì sự hỗ trợ của Set này. Tôi đã không nhận thấy rằng đây là cho các bộ sưu tập nguyên thủy, như tôi đã tìm kiếm các bộ sưu tập đối tượng tùy ý. – bertie

Các vấn đề liên quan