2012-09-20 11 views
8

Mọi thứ trong Java dường như tuân thủ các quy tắc viết hoa ngoại trừ Hashtable.Tại sao 't' trong Hash Table (Hashtable) trong Java không được viết hoa

Hashtable<String, String> ht = new Hashtable<String, String>(); 

như trái ngược với

ArrayList<String> a = new ArrayList<String>(); 

hoặc

HashMap<String,Integer> a = new HashMap<String,Integer>(); 

Tại sao điều này? Bảng Hash có được đọc chỉ một từ (Hashtable) không?

+2

Câu hỏi này mang tính kỹ thuật bao nhiêu? Có nhỏ "t" gây ra bất kỳ vấn đề (hoặc) nhầm lẫn? – kosa

+0

Đó là một buglet sớm :-) –

+0

Tính kỹ thuật mà tôi cho là sử dụng các trình soạn thảo không đề xuất cho Java - lúc nào tôi cũng viết HashTable vì tôi quá quen với các quy tắc viết hoa – Slartibartfast

Trả lời

9

Hashtable được tạo trong Java v1. Các quy ước đặt tên nhất quán cho các bộ sưu tập được thiết lập sau này, trong Java2, khi các lớp khác được xuất bản như một phần của Khung công tác thu thập Java hoàn toàn mới.

Btw nào đã làm Hashtable lỗi thời, do đó không nên sử dụng mã mới.

Hy vọng điều đó sẽ hữu ích.

+2

Tôi ngạc nhiên khi ai đó thực sự biết câu trả lời cho điều đó: D – Uooo

+1

[FilenameFilter] (http: // docs. oracle.com/javase/7/docs/api/java/io/FilenameFilter.html) là một cái mới. – basiljames

+1

Nó không phải là một câu trả lời, đó là một đoán, và không phải là một rất tốt. Thực tế, mọi lớp khác trong Java ở mọi lứa tuổi đều sử dụng trường hợp lạc đà. – EJP

1

Mặc dù câu hỏi này không có giá trị kỹ thuật, tôi phải thừa nhận, tôi đã tự hỏi mình điều này một vài lần :)

phiên bản của tôi là không giống như Danh sách (ArrayList), Set (HashSet), Bản đồ (Cây/HashMap) bảng không phải là một cấu trúc dữ liệu.

Tất nhiên (có thể là đã biết) lớp Hashtable được tạo trước khung thu thập (trong java 1.0). Vì vậy, có lẽ vào thời điểm đó họ đã không thực sự nghĩ về các quy ước đặt tên giống nhau. Nói chung, chúng tôi sử dụng khung tuyển tập hợp tốt hơn từ java 2+ :)

+0

Bản đồ không phải là cấu trúc dữ liệu? Bảng băm không phải là cấu trúc dữ liệu? Các lớp cấu trúc phi dữ liệu không phải tuân thủ các quy ước mã hóa? Xin vui lòng. – EJP

+0

Tôi nghĩ rằng bạn đã không nhận được quan điểm của tôi. Bản đồ IS là một cấu trúc dữ liệu (như một phần của tên HashMap và có thể được viết hoa). Các lưu giữ tương tự cho Set (như một phần của tên HashSet, vv). Nhưng những gì về Hashtable? Liệu từ '' bảng '' biểu thị một datastructure? Tất nhiên đây chỉ là suy nghĩ của tôi toàn bộ chủ đề không phải là kỹ thuật, vì vậy đối với tôi, một số loại đầu cơ được cho phép ở đây :) –

+0

"Liệu bảng từ biểu thị một cấu trúc dữ liệu?" Nó cho tôi, nhưng ngay cả khi nó vẫn không để lại câu hỏi cuối cùng chưa được trả lời. – EJP