Java - ArrayList-Standard-Anfangswerte
Wenn Sie erstellen eine arraylist vom Typ Integer in Java-was sind die default-Werte? Ich brauche, um zu überprüfen, ob eine arraylist ist voll und ich ging, um die Größe des Arrays erhalten dann den Wert an der letzten index und prüfen Sie, ob es war der Standard-Wert.
Gibt es eine bessere Möglichkeit? Was wäre der default-Wert?
Hoffe das macht Sinn. Cheers
int size = a.size();
int last = a.get(size);
if( last == null )
{
return true;
}else{
return false;
}
Bearbeiten;
Ist es möglich, erstellen Sie eine ArrayList mit einer max Größe nicht überschreiten, um es zu stoppen dynamisch erweitern?
Wenn Sie erstellen eine ArrayList und Sie verwenden size() würde, dass die Rückgabe die tatsächliche Größe oder die Menge der Elemente in der arraylist?
Dabei erstellen Sie eine max Größe wäre die default-Werte null sein?
public boolean isFull()
{
int size = a.size();
int last = 0;
try{
last = a.get(size-1);
}catch (Exception e){
}
if( last == null )
{
return true;
}else{
return false;
}
}
Momentan habe ich diese, wie sieht es aus? Macht das jetzt Sinn?
- Arbeitest du bei einem array eine
java.util.ArrayList
oder etwas anderes? - Eine ArrayList ist nie "voll". Und es ist kein Standardwert vorhanden ist, wird die Standard-Liste "leer" ist. Deine Frage macht keinen Sinn.
- AaronKurtzhals ja util arraylists. @Durandal, Ah stimmt. Ich hatte vergessen, dass. Würde das Array die richtige Umsetzung dafür?
- Formulieren Sie Ihre Frage klar zu machen, welches problem Sie lösen wollen. Dein Beispiel-code Stück macht keinen Sinn, entweder wird es unweigerlich wirft eine IndexOutOfBoundsException in der 2.Zeile.
- Ich habe so getan, ich hoffe das macht Sinn.
- Sie scheinen immer noch zu denken, es wäre etwas in der Liste standardmäßig. Das ist nicht der Fall, was Sie noch nicht eingegeben haben, ist einfach nicht da: new ArrayList().size() == 0. Größe ist alles, die Informationen, die Sie brauchen, um zu überprüfen, wie weit ich es verstehen, Ihre zu Bearbeiten.
- Ja, das macht Sinn. Vielen Dank, ich werde mal einen Blick über die mit dieser neuen info. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie deklarieren eine ArrayList ist leer. Es ist auch ein dynamischer container, was bedeutet, es wird wachsen, so für Sie bitten, wenn es "voll" ist eher eine Einschränkung, die man bräuchte, um Ihrem code hinzufügen.
Also, wenn Sie ein Ziel erreichen wollen, wie Sie beschreiben.
Wie andere gesagt haben, aber wenn Sie erstellen Sie eine Liste mit einer vorgegebenen Größe als solche:
Würden Sie haben eine Liste von 10 Elementen große allen seins
null
im Wert. Sollten Sie zusätzliche Elemente, die Liste wird noch wachsen, die größer als 10 Elemente, es sei denn, du zwingst es, wie ich oben.Wenn Sie nicht tatsächlich Hinzugefügt
Integer
s die ArrayList, dannget()
auf die Liste zurückIndexOutOfBoundsException
.Den
size()
Methode gibt die Anzahl der Elemente in der Liste (d.h. wie viele Sie Hinzugefügt haben, um es), nicht die aktuelle Kapazität.Beim erstellen einer ArrayList innerhalb der ArrayList-Klasse gibt es ein array von Elementen. Diese Elemente werden auf null gesetzt, weil Sie nicht auf eine Instanz eines Integer-Objekt. Bare im Hinterkopf, dass ist nicht das gleiche wie ein int.
Darüber hinaus eine ArrayList nicht voll. Es ist dynamisch, und wird in der Größe erhöhen, wenn es nötig ist.
Edit: Antwort auf edit über die Einstellung maximale Größe, wenn Sie möchten, eine maximale Größe, dann bin ich nicht sicher, warum Sie wollen, eine arraylist. Aber wenn Sie wollen stick mit einer ArrayList-Klasse, würde ich meine eigene Klasse, die eine Unterklasse von arraylist, und überschreiben Sie die add-Methode mit einem zu überprüfen, dass der Wert von size() nicht mehr über einen festen Betrag.
size()
ist die logische Anzeige der Inhalte, unabhängig von der Implementierung. wenn es0
es ist "nichts". Diejenigen Elemente, die Sie reden, sind nicht zugänglich, so nicht existieren.Gibt es nicht so etwas wie "voll"
ArrayList
. Diesize()
Methode zurück, die Anzahl von Elementen, die es derzeit hält.null
? Ich würde sagen, es ist kein Standard, da ist nicht Objekt.Wollen Sie einfach Einschränkung der Liste auf eine bestimmte Größe, oder möchten Sie überprüfen, ob es größer ist als eine gegebene Größe?
Überprüfen, wenn die Liste größer ist als:
Ist es nicht mehr möglich Einschränkung der Größe einer ArrayList - aber Sie können erstellen Sie Ihre eigene Unterklasse von ArrayList, die genau das tut:
Brauchen Sie nur zu entscheiden, was die Liste MACHEN sollte, wenn man versucht, hinzufügen von mehr Elementen, als der Grenzwert erlaubt. Entweder ignorieren Sie einfach die Elemente, oder werfen eine Ausnahme.
Standardmäßig ArrayList Kapazität ist 10. Alle von Ihnen sind standardmäßig null, bis Sie fügen Sie Ihre Elemente in es. Aber Aufruf von size() geben Sie die Anzahl der Elemente, die Sie Hinzugefügt haben. Wird es nicht geben, 10 Ergebnis(Standard-null-Werte werden nicht berücksichtigt). Twist ist hier, wenn Sie hinzufügen, die null-Werte in die Liste, dann werden Sie bei der Berechnung der Größe(). Beispiel, wenn Sie hinzufügen von 3 gültige Ganzzahlen und 2 null-Werte in der Liste size() zurück 5. Eclipse-debugging hilft Ihnen bei der Suche nach dieser dynamischen Erhöhung Ihrer Kapazität.
ArrayLists haben keine default-Werte. Wenn Sie übergeben die ArrayList einem
initialCapacity
bei der Initialisierung, sind Sie nur geben einen Anhaltspunkt für die Größe des zugrunde liegenden array—aber man kann nicht wirklich auf die Werte in der ArrayList bis Sie die Gegenstände selbst.Jede Liste Implementierung isEmpty() Methode, die Sie verwenden können.