Java-array substring
Wie kann ich die erstellen/instanziieren ein array gleich dem substring eines anderen Arrays, wobei die Größe der substring unbekannt ist:
int n; //some number derived somewhere else
String[] grp = elements[i] to elements[i+n];
- Meinst du Sie wollen zu erstellen und das array mit den gleichen Werten wie die anderen nur mehr in der Länge?
- Eine gute (nicht offensichtliche) Frage. Beachten Sie, dass ich ersetzt das Wort "Auswahl" mit "substring" in der Frage, was die Terminologie, die Sie nach sind (auch wenn es kein String ist, ist es trotzdem die richtige Terminologie in der informatik Bedingungen).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
- Arrays.copyOfRange
:In Ihrem Fall:
Arrays.copyOfRange(elements, i, i + n)
ausschließen würdeelements[i+n]
. Sie gehören, sollten SieArrays.copyOfRange(elements, i, i+n+1)
. Aber vielleicht ist die OP bestimmt zum kopieren von n Elementen, in dem Fall, dass Ihre Antwort richtig ist.Verwenden Sie
Arrays.copyOfRange()
.Hier ist ein Beispiel:
Den Javadocs für die
Arrays
Klasse hat sehr viele Informationen über die Methode:+1
zu gehörenelements[i+n]
im Sortiment.Verwenden
- Arrays.copyOfRange()
:Wie der name schon sagt
grp
wird ein kopieren des original-array und nicht einen Blick hinein. Sie können nicht Blick in das array, für, dass, würde man brauchen, um eine Sammlung. Generell sind die Sammlungen der leistungsstarke und flexible, high-level-alternative zu arrays.Um die Größe des Arrays, Sie würde tun,
Dann, alles, was Sie tun müssen ist, kopieren Sie die Elemente über: