Java ArrayListin käyttäminen

Java ArrayListin käyttäminen

Jaavalle ArrayList on yleiskokoinen kokoa muuttava ryhmä. Se tarjoaa suurimman osan tiloista, joita yleensä odotetaan muilla kielillä olevista matriiseista. Näitä ovat: elementtien käyttäminen indeksin avulla, elementtien lisääminen, poistaminen ja päivittäminen, dynaaminen koon muuttaminen, iterointi elementtien yli jne. Useimmat näistä toiminnoista on muokattu erityisesti yleiskäyttöön.





miten voit käyttää puhelinta etänä

On olemassa muutamia muita 'matriisityyppejä' (luokat, jotka toteuttavat Lista käyttöliittymä, tekninen), jotka on tarkoitettu erityistarkoituksiin. Nämä sisältävät:





  • LinkedList tukee nopeaa lisäämistä ja poistamista väliindekseissä.
  • Vektori on samanlainen kuin ArrayList mutta se on synkronoitu ja sopii ArrayList monisäikeisille sovelluksille.
  • Pino tukee operaatioita, jotka jäljittelevät viimeksi ensin -luetteloa. Se laajentaa Vektori ja siksi se on synkronoitu.

Nämä erikoisluokat eivät kuulu tämän artikkelin soveltamisalaan. Opit kuitenkin määrittämään ja käyttämään yleiskäyttöistä Java ArrayListia.





ArrayListin luominen

Luominen ArrayList on yksinkertainen. Tyhjä ArrayList voidaan luoda käyttämällä ei-argumentteja -rakentajaa. Täällä luodaan tyhjä arraylist merkkijonojen pitämistä varten.

ArrayList alist = new ArrayList();

Jos satut tietämään, kuinka monta kohdetta taulukkoluettelossasi on, voit määrittää alkuperäisen kapasiteetin. Tämä alkuperäinen kapasiteetti on vain vihje muistin varaamiselle - arraylist ei rajoitu tietyn määrän kohteiden tallentamiseen. Jos tiedät ja määrität alkuperäisen kapasiteetin, sinä saattaa paranna hieman suorituskykyä.



ArrayList alist = new ArrayList(20);

ArrayListin täyttäminen

Kohteiden lisääminen loppuun

Ryhmälistan täyttäminen on melko helppoa. Käytä vain lisätä() tapa lisätä yksi kohde taulukon loppuun. Tässä on esimerkki:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Käytä tätä menetelmää selvittääksesi, kuinka monta kohdetta on luettelossa koko() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Kohteiden lisääminen määritettyyn hakemistoon

Haluatko lisätä kohteen mielivaltaiseen hakemistoon? Määritä hakemisto ensimmäiseksi argumentiksi ja kohde lisätään kyseiseen indeksiin:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Lisää joukko kohteita

Voit myös lisätä kohteita mistä tahansa Java -kokoelmien hierarkian kokoelmasta. An ArrayList on erityinen tyyppi, jota kutsutaan Lista . Tässä on tapa rakentaa a Lista joukosta kohteita (käyttämällä Arrays.asList () ) ja lisää se kohtaan ArrayList .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Voit tietysti määrittää hakemiston ensimmäiseksi argumentiksi lisätäksesi kohteet, jotka alkavat kyseisestä indeksistä.

Kohteiden käyttäminen

Kun kohteet on lisätty arraylistiin, miten pääsemme niihin uudelleen?

Pääsy indeksin avulla

Jos tiedät kohteen indeksin, voit käyttää saada() menetelmä hakea elementti kyseisestä indeksistä.

katsoa videoita samaan aikaan
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Löytää esineitä

Entä jos et tiedä kohteen indeksiä? Voit käyttää sisällysluettelo() tarkistaa, onko kohde läsnä taulukossa, ja hakea tuote palautetun hakemiston avulla.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Entä jos kohde ei ole taulukossa? The sisällysluettelo() menetelmä palauttaa -1, kun kohdetta ei löydy.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Iteraatio ArrayListin yli

Tietenkin yleisin käyttö ArrayList iteroi elementtien yli. Tämä voidaan toteuttaa useilla tavoilla. Tässä esittelemme pari yksinkertaista.

Tässä on yksinkertaisin tapa iteroida arraylistin yli ja purkaa kohteet jonkinlaista käsittelyä varten.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Tämä koodi käyttää Java Enhanced For-Loop -sovellusta, joka otettiin käyttöön Java 1.5: ssä. Ennen sitä voit toistaa kohteita iteraattorilla. Iteraattoria käytetään myös tarvittaessa Poista elementtejä iterointiprosessin aikana, kuten alla oleva esimerkki havainnollistaa. (Huomaa, että teemme kopion arraylistista ja käsittelemme sitä.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Kohteiden vaihtaminen

Kun kohteita on lisätty, tarvitsemme tavan korvata ei -toivotut kohteet. Se voidaan tehdä käyttämällä aseta() menetelmä indeksin kanssa.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Kohteiden poistaminen

Katsotaanpa nyt, kuinka voimme poistaa kohteita taulukosta. Jos tiedät kohteen indeksin (ehkä käytit sisällysluettelo() yllä kuvattua), voit käyttää Poista() menetelmä indeksin kanssa. Se palauttaa poistetun elementin.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

Voit myös määrittää poistettavan elementin ensimmäinen elementin esiintyminen luettelossa. Menetelmä palaa totta jos elementti löydettiin ja poistettiin.

paras ilmainen ohjelmisto Windows 7: lle
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Miten käytät ArrayList millaisia ​​erityisongelmia olet kohdannut? Kerro meille alla olevissa kommenteissa.

Jaa Jaa Tweet Sähköposti Googlen sisäänrakennetun kuplatason käyttö Androidissa

Jos olet koskaan tarvinnut varmistaa, että jokin on vaakasuorassa, voit nyt saada kuplatason puhelimeesi muutamassa sekunnissa.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Java
Kirjailijasta Jay Sridhar(17 artikkelia julkaistu) Lisää Jay Sridharilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi