Java >> Java tutorial >  >> Tag >> class

Java ArrayList klasse

ArrayList-klasse :

  •  Array, der kan ændres størrelse eller array, der kan vokse.
  •  Den understregede datastruktur, der kan ændres størrelse og kan vokse.
  •  Duplikater er tilladt.
  •  Indsættelsesrækkefølgen er bevaret.
  •  Heterogene objekter er tilladt (undtagen træsæt og trækort overalt hvor heterogene objekter er tilladt).
  •  Nul-indsættelse er mulig.

KONSTRUKTOR:

  • ArrayList l =new ArrayList():- Opretter et tomt ArrayList-objekt med standardindledende kapacitet 10. Når ArrayList når sin maksimale kapacitet, oprettes en ny ArrayList.

  • Efter kopiering af alle data til en anden arraylist vil skraldeopsamler afallokere den første arraylistehukommelse.

Ny kapacitet =[ Nuværende kapacitet * 3/2 ] + 1

  • ArrayList l =new ArrayList(int initialCapacity);
  • ArrayList l =new ArrayList(Collection c);

Eksempel på Arraylist:

Import java.util.*;
Class ArrayListDemo{
	public static void main(String[] args)
	{
		ArrayList l = new ArrayList();
		L.add(“A”);
		l.add(10);
		l.add(“A”);
		l.add(null);
		System.out.println(l);//      [A,10,A,null]
		l.remove(2);
		System.out.println(l);//      [A,10,null]
		l.add(“2”,”m”);
		l.add(“n”); 
		System.out.println(l); //      [A,10,m,null,n]
	}
}

Bemærk:Vi får outputtet i parentes. Fordi objektreference internt bliver implementeret som toString metode.

Hvornår Arraylist er det bedste og det værste valg?

  • Arraylist er det bedste valg, hvis vores krav er genfindingsoperation (fordi Arraylist implementerer RandomAccess-grænsefladen).
  • ArrayList er det værste valg, hvis vores krav er indsættelse eller sletning i midten (fordi skiftdrift er påkrævet).

l.add(1,"m");

l.remove(1);

Hvordan får man den synkroniserede version af ArrayList-objektet?

Som standard er ArrayList objekt ikke-synkroniseret, men vi kan få synkroniseret version af ArrayList ved at bruge samlingsklassen SynchronizedList() metode.

IKKE-SYNKRONISERET:
ArrayList l1 =new ArrayList();
SYNCHRONIZED:
List l =Collections.SynchronizedList(l1);

Punkt :På samme måde kan vi få synkroniseret version af Set, Map-objekter ved at bruge følgende metoder til indsamlingsklasse


Java tag