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ö AndroidissaJos olet koskaan tarvinnut varmistaa, että jokin on vaakasuorassa, voit nyt saada kuplatason puhelimeesi muutamassa sekunnissa.
Lue seuraava Liittyvät aiheet- Ohjelmointi
- Java
tilaa uutiskirjeemme
Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e -kirjoja ja ainutlaatuisia tarjouksia!
Klikkaa tästä tilataksesi