Standardmatriser i Java fixas i antalet element de kan ha. Om du vill öka eller minska elementen i en matris måste du skapa en ny matris med rätt antal element från innehållet i den ursprungliga matrisen. Ett alternativ är att använda Arraylist
klass. De Arraylist
klass ger medel för att skapa dynamiska matriser (dvs. deras längd kan öka och minska).
importera java.util.ArrayList;
En Arraylist
kan skapas med den enkla konstruktorn:
ArrayList dynamicArray = new ArrayList ();
Detta kommer att skapa en Arraylist
med en initial kapacitet för tio element. Om en större (eller mindre) Arraylist
krävs kan den initiala kapaciteten överföras till konstruktören. För att skapa plats för tjugo element:
ArrayList dynamicArray = ny ArrayList (20);
Använd tilläggsmetoden för att lägga till ett värde till Arraylist
:
dynamicArray.add (10); dynamicArray.add (12); dynamicArray.add (20);
Notera: De Arraylist
lagrar bara objekt så även om ovanstående rader verkar lägga till int-värden till Arraylist
de ändras automatiskt till Heltal
föremål som de bifogas till Arraylist
.
En standardmatris kan användas för att fylla en Arraylist
genom att konvertera den till en Listsamling med Arrays.asList-metoden och lägga till den till Arraylist
använda Lägg till alla
metod:
String [] names = "Bob", "George", "Henry", "Declan", "Peter", "Steven"; ArrayList dynamicStringArray = ny ArrayList (20); dynamicStringArray.addAll (Arrays.asList (namn));
En sak att notera om Arraylist
är elementen behöver inte vara av samma objekttyp. Trots att dynamicStringArray
har fyllts i av strängobjekt, det kan fortfarande acceptera antalvärden:
dynamicStringArray.add (456);
För att minimera risken för fel är det bäst att ange vilken typ av objekt du vill ha Arraylist
att innehålla. Detta kan göras vid skapandet genom att använda generika:
ArrayList dynamicStringArray = ny ArrayList (20);