Zuhause Persönliche Finanzen Programmierung von Java: die Grenzen von Arrays - Dummies

Programmierung von Java: die Grenzen von Arrays - Dummies

Video: S04B Array; summieren; Maximum bestimmen 2024

Video: S04B Array; summieren; Maximum bestimmen 2024
Anonim

Arrays in Java sind nett, haben aber einige ernsthafte Einschränkungen. Stellen Sie sich vor, dass Sie Kundennamen in einer bestimmten Reihenfolge speichern. Ihr Code enthält ein Array und das Array hat Platz für 100 Namen.

String name [] = neuer String [100]; für (int i = 0; i <100; i ++) {name [i] = neuer String ();}

Alles läuft gut, bis eines Tages die Kundennummer 101 auftaucht. Während Ihr Programm läuft, geben Sie Daten für den Kunden 101 ein und hoffen verzweifelt, dass das Array mit 100 Komponenten erweitert werden kann, um Ihren wachsenden Anforderungen gerecht zu werden.

Kein solches Glück. Arrays expandieren nicht. Ihr Programm stürzt mit einer ArrayIndexOutOfBoundsException ab.

"In meinem nächsten Leben werde ich Arrays der Länge 1 000 erstellen", sagst du zu dir. Und wenn dein nächstes Leben sich dreht, tust du genau das.

String name [] = neuer String [1000 ]; für (int i = 0; i << 1000 ; i ++) {name [i] = new String ();} Aber in Ihrem nächsten Leben kommt es zu einer wirtschaftlichen Rezession. Anstelle von 101 Kunden haben Sie nur 3 Kunden. Jetzt verschwenden Sie Platz für 1 000 Namen, wenn Platz für 3 Namen vorhanden wäre.

Und was ist, wenn keine wirtschaftliche Rezession eintritt? Sie segeln mit Ihrem Array der Größe 1, 000, mit einer ordentlichen 825 Felder im Array. Die Komponenten mit den Indizes 0 bis 824 werden verwendet, und die Komponenten mit den Indizes 825 bis 999 warten leise darauf, gefüllt zu werden.

Eines Tages taucht ein nagelneuer Kunde auf. Da Ihre Kunden in der Reihenfolge gespeichert werden (alphabetisch nach Nachnamen, numerisch nach Sozialversicherungsnummer, was auch immer), möchten Sie diesen Kunden in die richtige Komponente Ihres Arrays pressen. Das Problem ist, dass dieser Kunde sehr früh in das Array gehört, in die Komponente mit Index 7. Was passiert dann?

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

Sie tun dies, bis Sie den Namen in Komponente 7 verschoben haben. Dann fügen Sie den Namen des neuen Kunden in Komponente 7 ein. Was für ein Schmerz! Klar, der Computer beschwert sich nicht. Aber wenn Sie sich um all diese Namen bewegen, verschwenden Sie Bearbeitungszeit, Sie verschwenden Energie, und Sie verschwenden alle Arten von Ressourcen.

"In meinem nächsten Leben hinterlasse ich drei leere Komponenten zwischen jeweils zwei Namen. "Und natürlich expandiert Ihr Geschäft. Bis Sie schließlich feststellen, dass drei nicht genug sind.

Programmierung von Java: die Grenzen von Arrays - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...