Programmierung Java: die Grenzen der Arrays

Arrays in Java sind nett, aber sie haben einige gravierende Einschränkungen. Stellen Sie sich vor, dass Sie die Kundennamen in einer vorbestimmten Reihenfolge speichern. Der Code enthält ein Array, und das Array bietet Platz für 100 Namen.

String name [] = new String [100] -für (int i = 0- i lt; 100- i ++) {name [i] = new String () -}

Alles ist gut, bis eines Tages, Kundennummer 101 erscheint. Als Ihr Programm ausgeführt wird, geben Sie Daten für den Kunden 101, in der Hoffnung verzweifelt, dass das Array mit 100 Komponenten erweitern können, um dem wachsenden Bedarf zu passen.

Kein Glück. Arrays nicht erweitern. Ihr Programm stürzt mit ein Sie versuchen auf einen Index außerhalb der Feldgrenzen zuzugreifen.

# 147-In meinem nächsten Leben, ich Arrays der Länge erstellen werden 1000, # 148- Sie zu sich selbst sagen. Und wenn Ihr nächstes Leben rollt herum, tun Sie genau das.

String name [] = new String [1000] -für (Int i = 0- i lt; 1000- i ++) {name [i] = new String () -}

Aber bei Ihrem nächsten Leben, eine wirtschaftliche Rezession eintritt. Statt 101 Kunden zu haben, müssen Sie nur 3 Kunden. Jetzt sind Sie verschwenden Platz für 1.000 Namen, wenn der Platz für drei Namen tun würde.

Und was ist, wenn keine wirtschaftliche Rezession eintritt? Sie segeln mit dem Array der Größe 1000, mit einem ordentlichen 825 Räume in der Anordnung entlang. Die Komponenten mit den Indizes 0 bis 824 verwendet werden, und die Komponenten mit den Indizes 825 bis 999 warten, leise gefüllt werden.

Eines Tages, ein brandneues Kunde auftaucht. Weil Ihre Kunden werden in der Reihenfolge (alphabetisch nach dem Nachnamen, numerisch durch Sozialversicherungsnummer, was auch immer) gespeichert, können Sie diese Kunden in die richtige Komponente Ihres Arrays zu drücken wollen. Das Problem ist, dass dieser Kunde im Array sehr früh gehört, an der Komponente mit dem Index 7. Was passiert dann?

Sie nehmen den Namen in Komponentennummer 824 und auf Komponente verschieben 825. Dann nehmen Sie den Namen in der Komponente 823 und auf Komponente 824. Nehmen Sie den Namen in der Komponente 822 und auf Komponente 823 bewegen bewegen.

Sie halten tun dies, bis Sie den Namen in der Komponente bewegt habe 7. Sie dann den Namen des neuen Kunden in 7 ein Schmerz Was Komponente setzen! Sicher, wird der Computer nicht beschweren. Aber wie Sie alle diese Namen bewegen, Sie Verarbeitungszeit verschwenden, Sie Energie verschwenden, und Sie alle Arten von Ressourcen zu verschwenden.

# 147-In meinem nächsten Leben, ich werde drei leere Komponenten zwischen jeweils zwei Namen verlassen. # 148- Und natürlich Ihr Unternehmen expandiert. Bis, finden Sie schließlich, dass drei sind nicht genug.

Menü