Wie erstellen Sie dynamische String-Arrays, wenn wir nicht wissen, die Anzahl der strings am Anfang?
Ich habe eine HashMap<String, String>
. Wenn ich will erstellen Sie die string-array mit hashmap.values()
schaffen wir es als
String[] strArray = new String[hashmap.size()]
Aber mein problem ist, wenn hashmap Werte enthalten "A,B,C", dann muss ich hinzufügen A und B und C zu strArray.
warum nicht zuerst die Anzahl der benötigten Gegenstände (Durchlaufen der hashmap einmal), und als tatsächlich das array erstellen und die Werte mit hinein?
Ich denke, niemand wird schreiben Sie eine E-Mail, die Antworten kommen hier rein... 😉 Auch, können Sie uns sagen, was Sie zu tun versuchen, mit diesem array? Wenn Sie diese braucht, um dynamisch zu ändern, können Sie einfach mit einem der verfügbaren Sammlungen (wie
Ich denke, niemand wird schreiben Sie eine E-Mail, die Antworten kommen hier rein... 😉 Auch, können Sie uns sagen, was Sie zu tun versuchen, mit diesem array? Wenn Sie diese braucht, um dynamisch zu ändern, können Sie einfach mit einem der verfügbaren Sammlungen (wie
ArrayList<String>
).InformationsquelleAutor Praveen Hiremath | 2012-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie ein
ArrayList
.List<String> myList = new ArrayList<String>();
Egal was die Größe Ihres
HashMap
können Sie ganz einfach die Arbeit mit IhremArrayList
.Wenn Sie ein array verwenden, können Sie
wenn Sie fertig sind.
String[] arr = myList.toArray(new String[myList.size()])
wenn Sie fertig sind.edit meine Antwort und fügen Sie diesen Punkt bitte. 🙂
Ich denke, Sie sind nicht in der Lage zu verstehen, meine Frage. Es kann sein, becos ich kann nicht die Frage rite Worte. Eine Möglichkeit, dass ich ll exxplain es wieder. Für Ex: HashMap Werte sind
Danke Peter.. ich denke, Sie sind nicht in der Lage zu verstehen, meine Frage. Es kann sein, becos ich würde nicht die Frage gestellt werden, in Ritus Worte, die ich denke. Eine Möglichkeit, dass ich ll exxplain es wieder. Für Ex: Map<String, String> map = new HashMap <String, Zeichenfolge>(); Karte.put("1", "A,B,C"); anzeigen.put("2", "P,Q,R,..., Z"); So brauche ich zum erstellen der string-Array mit den Werten (A,B,C,P,Q,R,..., Z). Beachten Sie, dass die durch Komma getrennten Werte in der Karte können sich bis zu beliebiger Länge(wic ist dynamisch). Bitte geben Sie mir Anregungen.
InformationsquelleAutor Kazekage Gaara
Können Sie eine Kopie der Werte, Wann immer Sie brauchen ein array.
Wenn du die Karte wechseln (auch wenn die Größe nicht ändern), wird das array nicht ändern, und Sie müssen zu einem anderen kopieren. Tun, die Werte müssen eindeutig sein?
In diesem Fall scheint es, Sie wollen das folgende zu tun.
Wollen Sie ein element im array für jede Zeichenfolge zwischen die Kommas? Wenn ja, ich habe eine Lösung für, die.
Ja Peter Lawrey. Ich will ein element in dem array für jede Zeichenkette zwischen Kommas. Zu Erstellen String-Array brauche ich knw die GRÖßE(dynamisch). Ich bin nicht in der Lage zu finden die GRÖßE.
Sie brauchen nicht zu wissen, die Größe im Voraus, Mit Hilfe einer Liste können Sie zunächst bestimmen Sie die Größe vor dem erstellen des Arrays (wie im Beispiel)
InformationsquelleAutor Peter Lawrey
Muss es ein array sein? Mit den Karten erhalten Sie die Schlüssel-Wert bestimmt.
Sie überdecken ArrayList legen Sie eine Standard-Anfangsgröße und wenn es überschritten ist, verwenden Sie die array-Kopie im system (glaube ich) kopieren der Werte zu einem größeren array. Das ist aber nicht die möglichst effiziente, aber man braucht wohl ein array
InformationsquelleAutor John Kane