Kā izmantot Java ArrayList

Kā izmantot Java ArrayList

Uz Java ArrayList ir universāls masīvs ar maināmu izmēru. Tas nodrošina lielāko daļu iespēju, kas parasti tiek gaidīta masīviem citās valodās. Tie ietver: piekļuvi elementiem, izmantojot indeksu, elementu pievienošanu, noņemšanu un atjaunināšanu, dinamisku izmēru maiņu, elementu atkārtošanu utt. Lielākā daļa no šīm darbībām ir īpaši pielāgotas vispārējai lietošanai.





kā atbrīvot vietu operētājsistēmā Windows 10

Ir daži citi “masīvu” veidi (klases, kas ievieš Saraksts tehnisks interfeiss), kas paredzēti īpašiem mērķiem. Tie ietver:





  • LinkedList atbalsta ātru ievietošanu un noņemšanu pie starpposma indeksiem.
  • Vektors ir līdzīgs an ArrayList bet ir sinhronizēts un ir piemērots vietā ArrayList lietojumiem ar vairākiem pavedieniem.
  • Kaudze atbalsta operācijas, lai atdarinātu pēdējo ieeju sarakstā. Tas paplašina Vektors un līdz ar to tiek sinhronizēts.

Šīs īpašās nodarbības neietilpst šī raksta darbības jomā. Tomēr jūs uzzināsit, kā iestatīt un izmantot universālu Java ArrayList.





ArrayList izveide

Izveidojot ArrayList ir vienkāršs. Tukša ArrayList var izveidot, izmantojot konstruktoru bez argumentiem. Šeit mēs izveidojam tukšu masīvu sarakstu virkņu turēšanai.

ArrayList alist = new ArrayList();

Ja jūs zināt, cik vienumu būs jūsu masīvu sarakstā, varat norādīt sākotnējo ietilpību. Šī sākotnējā ietilpība ir tikai mājiens atmiņas piešķiršanai - masilists neaprobežojas tikai ar norādītā vienumu skaita saglabāšanu. Ja jūs zināt un norādāt sākotnējo jaudu, jūs varētu nedaudz uzlabot veiktspēju.



ArrayList alist = new ArrayList(20);

ArrayList aizpildīšana

Vienumu pievienošana beigās

Masilista aizpildīšana ir diezgan vienkārša. Vienkārši izmantojiet pievienot () metode, lai pievienotu vienu vienumu masīva saraksta beigām. Šeit ir piemērs:

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]

Izmantojiet šo metodi, lai uzzinātu, cik vienumu ir masu sarakstā Izmērs() .





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

Vienumu pievienošana pēc noteikta indeksa

Vai vēlaties pievienot vienumu patvaļīgam indeksam? Norādiet indeksu kā pirmo argumentu, un vienums tiek pievienots šim indeksam:

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

Vienuma ķekara pievienošana

Varat arī pievienot vienumus no jebkuras Java kolekciju hierarhijas kolekcijas. An ArrayList ir īpašs veids, ko sauc Saraksts . Šeit ir veids, kā izveidot a Saraksts no ķekara priekšmetiem (izmantojot Masīvi.asList () ) un pievienojiet to ArrayList .





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

Protams, šeit kā pirmo argumentu varat norādīt indeksu, lai pievienotu vienumus, sākot ar šo indeksu.

Piekļuve vienumiem

Kad vienumi ir pievienoti masilistam, kā mums tiem atkal piekļūt?

Piekļuve ar indeksu

Ja jūs zināt vienuma indeksu, varat izmantot gūt() metode, lai izgūtu elementu pie šī indeksa.

ja kāds jūs bloķēja vietnē snapchat
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Vienumu atrašana

Ko darīt, ja nezināt preces indeksu? Tu vari izmantot indexOf () lai pārbaudītu, vai vienums atrodas masīvā, un izgūst vienumu, izmantojot atgriezto indeksu.

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

Ko darīt, ja vienums nav iekļauts masu sarakstā? The indexOf () metode atgriež -1, ja vienums nav atrasts.

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

Iterating Over ArrayList

Protams, visizplatītākais lietojums ArrayList tas atkārtojas pa elementiem. To var paveikt vairākos veidos. Šeit mēs parādām pāris vienkāršus.

Šeit ir vienkāršākais veids, kā atkārtot masīvistu sarakstu un iegūt vienumus kāda veida apstrādei.

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'

Šis kods izmanto Java uzlaboto cilpu, kas tika ieviesta Java 1.5. Pirms tam vienumus var atkārtot ar iteratoru. Ja nepieciešams, tiek izmantots arī iterators noņemt iterācijas procesa laikā, kā parādīts zemāk redzamajā piemērā. (Ņemiet vērā, ka mēs izveidojam masīva saraksta kopiju un strādājam pie kopijas.)

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'

Vienumu nomaiņa

Kad vienumi ir pievienoti, mums ir nepieciešams veids, kā aizstāt nevēlamos vienumus. To var izdarīt, izmantojot komplekts () metode ar indeksu.

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

Vienumu noņemšana

Tagad redzēsim, kā mēs varam noņemt vienumus no masu saraksta. Ja jūs zināt preces indeksu (iespējams, izmantojāt indexOf () aprakstīts iepriekš), varat izmantot noņemt () metode ar indeksu. Tas atgriež noņemto elementu.

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

Varat arī norādīt noņemamo elementu pirmais elementa parādīšanās sarakstā. Metode atgriežas taisnība ja elements ir atrasts un noņemts.

kāpēc es nevaru pārvietot visas lietotnes uz SD karti?
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Kā jūs izmantojat ArrayList savos projektos un ar kādām īpašām problēmām esat saskāries? Lūdzu, informējiet mūs zemāk esošajos komentāros.

Kopīgot Kopīgot Čivināt E -pasts Kā piekļūt Google iebūvētajam burbuļa līmenim operētājsistēmā Android

Ja jums kādreiz ir bijis jāpārliecinās, ka kaut kas ir vienā līmenī, tagad tālrunī varat iegūt burbuļa līmeni dažu sekunžu laikā.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Java
Par autoru Džejs Šridhars(Publicēti 17 raksti) Vairāk no Jay Sridhar

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu