2013-08-17 47 views
7

Xin chào Tôi đang học Java và tôi chỉ bối rối về một câu hỏi liên tục xuất hiện trong các kỳ thi của tôi.Các loại danh sách khác nhau

Chúng tôi được yêu cầu sử dụng một lớp cho bộ sưu tập của chúng tôi.

Thông thường trong lớp học chính của tôi, tôi chỉ cần tạo một danh sách các loại tôi cần như tài khoản ngân hàng hoặc bất kỳ thứ gì. Nhưng tôi nghĩ chúng ta phải làm một lớp cho tất cả dữ liệu của mình. Tôi đã thử điều này và làm cho chúng tĩnh và có lớp trừu tượng bởi vì tôi không cần phải tạo bản sao của chính lớp đó. Điều tôi muốn biết là tại sao mọi người không chỉ làm một loại danh sách có thể làm mọi thứ mà một danh sách và danh sách có thể làm trong một danh sách, tại sao lại có các loại khác nhau? Lợi ích của việc có các loại khác nhau là gì? Ps thực hiện một bộ sưu tập chỉ có nghĩa là một lớp học cho tất cả các dữ liệu của bạn?

+4

Tôi không hiểu câu hỏi. Bạn có hỏi tại sao có nhiều triển khai Danh sách, như ArrayList và LinkedList không? Bất kỳ ví dụ mã nào mà bạn có thể chia sẻ, với giải thích rõ ràng về những gì bạn không hiểu? –

+1

Một 'ArrayList' * là * một lớp cho các bộ sưu tập - nó thực hiện' Danh sách', thực hiện 'Bộ sưu tập'. –

+0

Có thực hành tốt để có tất cả các danh sách của bạn trong một lớp học không? – Sam

Trả lời

12

Mỗi Danh sách có sử dụng riêng của mình:

  • ArrayList cư xử như một Resizable mảng

  • LinkedList có thể được sử dụng như một hàng đợi FIFO

  • Ngăn xếp rõ ràng là một ngăn xếp (LIFO)

Đây là javadoc cho danh sách:

http://docs.oracle.com/javase/6/docs/api/java/util/List.html

+2

stack là một ngăn xếp? stack là LIFO. – bsd

+1

Yea .. nhưng tôi cho rằng hầu hết mọi người đều biết ngăn xếp bằng LIFO. Trong hầu hết các trường hợp, chúng tôi chỉ đơn giản nói stack khi chúng tôi có nghĩa là LIFO. Đúng? – Mingyu

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