Ich habe eine Sammlung, die ich am Anfang eines Programms laden, und ich gebe zu, dass das String-Array, das ich als Wert verwende, immer die gleiche Länge für alle Einträge hat, plus dass es mindestens 1 Wert enthält .
Von diesen Einträgen muss ich die Größe des Arrays, das ich verwendet habe, erhalten. Ab jetzt mache ich es so:Wie erhält man die Größe der Werte in einer Map?
Map<String, String[]> people = new HashTable<>();
people.put("miao", new String[]{"bau","cip","muu"});
people.values().iterator().next().length; //returns 3
Gibt es einen besseren Weg, es zu tun?
Das ist gut genug, es sei denn, Sie können diese Länge erhalten, bevor Sie den ersten Array-Wert in der Karte setzen. – Eran
Sollte ich die Frage löschen? Ist es schlecht formatiert oder so? Ich habe schreckliche Schwierigkeiten auf dieser Website, die Abstimmungen zu verstehen ... – Vale
Sie sollten wahrscheinlich eine HashMap anstelle einer Hashtable verwenden (beachten Sie Little-'t '). 'Hashtable' ist synchronisiert. 'HashMap' ist nicht und ist normalerweise, was Sie wollen (um die Kosten der Synchronisation zu vermeiden). Für die meisten Zwecke ist Hashtable eine alte Nachricht. Haben Sie darüber nachgedacht, statt einer 'String []' 'List' zu verwenden. Auch dies wird normalerweise bevorzugt. Für die meisten Zwecke sollten Sie Arrays als Legacy-Funktion (oder Optimierungsfunktion) von Java betrachten. –
Paul