2012-09-20 11 views
8

Todo en Java parece seguir reglas de mayúscula a excepción de Hashtable.¿Por qué la 't' en Hash Table (Hashtable) en Java no está en mayúscula?

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

en contraposición a

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

o

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

¿Por qué es esto? ¿Se lee Hash Table como solo una palabra (Hashtable)?

+2

¿Cuánto de técnico es esta pregunta? ¿Tener una "t" pequeña causa algún problema (o) confusión? – kosa

+0

Fue una falla temprana :-) –

+0

La tecnicidad que supongo es al usar editores sin sugerencias para Java - invariablemente termino escribiendo HashTable porque estoy tan acostumbrado a seguir las reglas de capitalización – Slartibartfast

Respuesta

9

Hashtable se creó en Java v1. Las convenciones de nomenclatura consistentes para las colecciones se establecieron más tarde, en Java2, cuando las otras clases se publicaron como parte del nuevo marco de recopilación de Java.

Cuál btw hizo Hashtable obsoleto, entonces no se debe utilizar en código nuevo.

Espero que ayude.

+2

Me sorprende que alguien realmente sepa una respuesta para eso: D – Uooo

+1

[FilenameFilter] (http: // docs. oracle.com/javase/7/docs/api/java/io/FilenameFilter.html) es uno nuevo. – basiljames

+1

No es una respuesta, es una suposición, y no una muy buena. Prácticamente cualquier otra clase en Java de cualquier edad utiliza camel case. – EJP

1

Aunque esta pregunta no tiene valor técnico, tengo que admitir, me he preguntado esto un par de veces :)

Mi versión es que a diferencia de la lista (ArrayList), Set (HashSet), mapa (Tabla de Árbol/HashMap) no es una estructura de datos.

Por supuesto (es posible que se sepa) que la clase Hashtable se creó antes del marco de recopilación (en java 1.0). Entonces tal vez en ese momento no pensaron en las mismas convenciones de nombres. En general, es mejor utilizar el marco de recopilación de java 2+ :)

+0

¿Un mapa no es una estructura de datos? ¿Una tabla hash no es una estructura de datos? Las clases de estructura no de datos no tienen que obedecer las convenciones de codificación? Por favor. – EJP

+0

Creo que no entendiste mi punto. El mapa ES una estructura de datos (como parte del nombre HashMap y, por lo tanto, puede escribirse en mayúscula). Lo mismo vale para Set (como parte del nombre HashSet, etc.). ¿Pero qué hay de Hashtable? ¿La palabra "tabla" denota una estructura de datos? Por supuesto, esto es sólo mi opinión, el hilo completo no es técnico, así que para mí, se permite algún tipo de especulación aquí :) –

+0

"¿La palabra tabla denota una estructura de datos?" Lo hace a mí, pero incluso si no lo hace, deja la pregunta final sin respuesta. – EJP

Cuestiones relacionadas