JavascriptProva

mercoledì 17 luglio 2013

Studio su come viene gestito il ridimensionamento dell'ArrayList a livello di Heap, in confronto con l'Array.

Veniamo ora all'usi di ArrayList.

Ecco il codice, simile a quello usato per gli array, che dimostra come un ArrayList, pur ridimensionandosi, resta sempre nella stessa locazione dello Heap, e dunque l'identificatore ha nello stack sempre il medesimo valore, ossia punta sempre nella medesima locazione, nonostante le modificazioni di lunghezza dell'arraylist.
    Sub Main()
        Dim List As New ArrayList
        Dim SecondaList As ArrayList
        SecondaList = List
        List.Add("uno")
        List.Add("due")
        List.Add("tre")
        Console.WriteLine(List(2))
        Console.WriteLine("La lunghezza della List è " & List.Count)
        Console.WriteLine("La proposizione secondo cui SecondaList si identifica con List è " & (SecondaList Is List))
        Console.ReadKey()
        List.Add("quattro")
        Console.WriteLine()
        Console.WriteLine(List(3))
        Console.WriteLine("La lunghezza della List è " & List.Count)
        Console.WriteLine("La proposizione secondo cui SecondaList si identifica con List è " & (SecondaList Is List))
        Console.ReadKey()
    End Sub
Ecco l'output:
tre
La lunghezza della List è 3
La proposizione secondo cui SecondaList si identifica con List è True

quattro
La lunghezza della List è 4
La proposizione secondo cui SecondaList si identifica con List è True



Molto chiaro!
Ecco dunque una differenza fondamentale fra array e ArrayList.

Nessun commento:

Posta un commento