Hem Personliga finanser Programmering Java: Begreppen Arrays - dummies

Programmering Java: Begreppen Arrays - dummies

Video: Javaprogrammering - Föreläsning 01 - Kursintroduktion 2024

Video: Javaprogrammering - Föreläsning 01 - Kursintroduktion 2024
Anonim

Arrays i Java är trevliga, men de har några allvarliga begränsningar. Tänk dig att du lagrar kundnamn i en viss förbestämd ordning. Din kod innehåller en array, och arrayen har plats för 100 namn.

Strängnamn [] = Ny sträng [100]; för (int i = 0; i <100; i ++) {namn [i] = ny String ();}

Allt är väl till, en dag visas kundnummer 101. När ditt program körs anger du data för kund 101, och hoppas desperat att matrisen med 100 komponenter kan expandera för att passa dina växande behov.

Ingen sådan tur. Arrays expandera inte. Ditt program kraschar med en ArrayIndexOutOfBoundsException.

"I mitt nästa liv ska jag skapa arrayer med längd 1, 000," säger du till dig själv. Och när ditt nästa liv rullar runt, gör du bara det.

Strängnamn [] = ny sträng [1000 ]; för (int i = 0; i << 1000 ; i ++) {name [i] = new String ();} Men under ditt nästa liv uppstår en ekonomisk recession. I stället för att ha 101 kunder har du bara 3 kunder. Nu slösar du utrymme för 1 000 namn när plats för 3 namn skulle göra.

Och vad händer om ingen ekonomisk recession uppstår? Du seglar tillsammans med din serie av storlek 1, 000, med hjälp av ett städat 825 utrymmen i matrisen. Komponenterna med index 0 till 824 används och komponenterna med index 825 till 999 väntar tyst att fyllas.

En dag visas en helt ny kund. Eftersom dina kunder lagras i ordning (alfabetiskt med efternamn, numeriskt med Social Security Number, vad som helst), vill du klämma den här kunden i rätt komponent i din matris. Problemet är att den här kunden tillhör mycket tidigt i matrisen, på komponenten med index 7. Vad händer då?

Du tar namnet i komponentnummer 824 och flyttar det till komponent 825. Sedan tar du namnet i komponent 823 och flyttar det till komponent 824. Ta namnet i komponent 822 och flytta det till komponent 823.

Du fortsätter att göra detta tills du har flyttat namnet i komponent 7. Sedan lägger du den nya kundens namn i komponent 7. Vad en smärta! Visst klagar inte datorn. Men när du flyttar runt alla dessa namn, slösar du bort bearbetningstiden, slösar bort strömmen och slösar bort alla typer av resurser.

"I mitt nästa liv lämnar jag tre tomma komponenter mellan var och en av namnen. "Och självklart expanderar ditt företag. Fram tills du finner att tre inte räcker.

Programmering Java: Begreppen Arrays - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...