Huis Persoonlijke financiën Arrays in Java-code - dummies

Arrays in Java-code - dummies

Video: Java Programming Tutorial - 27 - Introduction to Arrays 2024

Video: Java Programming Tutorial - 27 - Introduction to Arrays 2024
Anonim

De klasse ArrayList die wordt gebruikt, is in veel Android-app-programma's slechts het topje van de ijsberg van de Java-collecties. De Java-bibliotheek bevat veel verzamelklassen, elk met zijn eigen voordelen. De tabel bevat een verkorte lijst.

Sommige verzamelingsklassen

Klasnaam Kenmerk
ArrayList Een formaat dat kan worden aangepast.
LinkedList Een zoeklijst met elk een veld dat verwijst naar de volgende

een in de lijst.

Stack Een structuur (die van onder naar boven groeit) die is geoptimaliseerd

voor toegang tot de bovenste waarde. U kunt eenvoudig een waarde toevoegen aan de

-top of deze van boven verwijderen.

Wachtrij Een structuur (die aan één kant groeit) die is geoptimaliseerd voor

waarden toevoegen aan één uiteinde (de achterzijde) en waarden verwijderen van het

andere uiteinde (de voorkant).

PriorityQueue Een structuur, zoals een wachtrij, waarmee bepaalde (hogere prioriteit)

waarden naar voren kunnen worden verplaatst.

HashSet Een verzameling die geen dubbele waarden bevat.
HashMap Een verzameling sleutel / waardeparen.

Elke collectieklasse heeft zijn eigen set van methoden (naast de methoden die het overneemt van AbstractCollection, de voorloper van alle verzamelklassen).

Een array is een bepaald type verzameling dat is geoptimaliseerd voor indexering. Dat wil zeggen, u kunt gemakkelijk en efficiënt de 100e waarde vinden die is opgeslagen in een array, de 1, 000ste waarde die is opgeslagen in een array, of de 1, 000, 000e waarde die is opgeslagen in een array.

De array is een eerbiedwaardige, beproefde en waarachtige functie van veel programmeertalen, waaronder nieuwere talen zoals Java en oudere talen zoals FORTRAN. In feite gaat de geschiedenis van de array zo ver terug dat de meeste talen (inclusief Java) een speciale notatie hebben voor het omgaan met arrays. De lijst illustreert de notatie voor arrays in een eenvoudig Java-programma.

pakket com. allmycode. verzamelingen; openbare klasse SimpleCollectionsDemo {public static void main (String [] args) { String [] myArray = new String [4]; myArray [0] = "Hallo"; myArray [1] = ","; myArray [2] = "lezers"; myArray [3] = "!"; voor (int i = 0; i <4; i ++) { systeem. uit. afdruk (myArray [i]); } Systeem. uit. println (); for (String string: myArray) {Systeem. uit. print (string);}}}

De afbeelding toont de uitvoer van een run van de code in de lijst. Zowel de gewone lus als de verbeterde lus geven dezelfde uitvoer weer.

De code in de lijst uitvoeren.

In de lijst gebruikt de gewone lus indexen, waarbij elke index is gemarkeerd door vierkante haken.Zoals het is met alle Java-collecties, is de index van de beginwaarde 0, niet 1. Let ook op het getal 4 in de array-declaratie - dit geeft aan dat "u 4 waarden in de array kunt opslaan. "

Het getal 4 geeft niet aan dat" u een waarde aan myArray [4] kunt toewijzen. "In feite, als je een statement toevoegt zoals myArray [4] =" Oeps! "Om de code in de lijst, krijg je een vervelende foutmelding (ArrayIndexOutOfBoundsException) wanneer u het programma uitvoert.

De instructie String [] myArray = new String [4] maakt een lege array en laat de variabele myArray verwijzen naar die lege array. De array kan mogelijk maximaal vier waarden opslaan. Maar in eerste instantie verwijst die variabele naar een array die geen waarden bevat. Pas als Java de eerste toewijzingsinstructie (myArray [0] = "Hallo") uitvoert, bevat de array waarden.

U kunt eenvoudig en efficiënt de 100e waarde vinden die is opgeslagen in een array of de 1, 000, 000e waarde die is opgeslagen in een array. Niet slecht voor een dag werk. Dus wat is het nadeel van het gebruik van een array? Het grootste nadeel van een array is dat elke array een vaste limiet heeft voor het aantal waarden dat deze kan bevatten. Wanneer u de array in de lijst maakt, behoudt Java ruimte voor maximaal vier tekenreekswaarden.

Als u later in het programma besluit dat u een vijfde element in de array wilt opslaan, hebt u wat onhandige, inefficiënte code nodig om een ​​grotere array te maken. U kunt ook de grootte overschatten die u nodig hebt voor een array, zoals in dit voorbeeld wordt getoond:

String [] myArray = new String [20000000];

Wanneer u overschat, verspilt u waarschijnlijk veel geheugenruimte.

Een andere vervelende functie van een array is de moeilijkheid die u kunt hebben bij het invoegen van nieuwe waarden. Stel je voor dat je elk jaar een houten kist in je verzameling Emperor Constantine Comics hebt. De serie dateert uit het jaar 307 A. D., toen Constantijn het hoofd van het Romeinse Rijk werd.

Je hebt slechts 1, 700 vakken omdat je ongeveer zes jaar mist (meestal uit de jaren 1150 tot 1155). De vakken zijn niet genummerd, maar ze zijn gestapeld naast elkaar in een lijn die 200 meter lang is. (De lijn is zo lang als de 55e verdieping van een wolkenkrabber lang is.)

Bij een garage sale in Istanbul, vindt u een zeldzame editie van Emperor Constantine Comics vanaf maart 1152. Na uw vreugde over uw eerste strip uit het jaar 1152, je realiseert je dat je tussen de jaren 1151 en 1153 een nieuwe doos in de stapel moet steken, waarbij je de doos van het jaar 2013 ongeveer tien centimeter naar links verplaatst en dan de doos van 2012 verplaatst in plaats van de doos van 2013 en verplaats vervolgens de doos van 2011 in plaats van de doos van 2012. Enzovoort.

Het leven voor de begerige keizer Constantijn Comics verzamelaar wordt zo vervelend! Het invoegen van een waarde in het midden van een grote array is even vervelend.

Arrays in Java-code - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...