Wie Arrays redimensionieren?

  • Antworten:2
Frank Rudolf
  • Forum-Beiträge: 215

03.12.2015, 20:45:00 via Website

Eine Methode soll dynamisch ein Array füllen. Dynamisch, weil sich mit jedem Aufruf dieser Methode das Array mit anderen Werten füllen soll. Dabei dürfte sich auch fast immer die Länge des Arrays (Anzahl der Elemente) ändern.

Wie kann ich das Array jeweils neu aufbereiten? Das Befüllen mit neuen Inhalten ist kein Problem. Aber wie modifiziere ich die Größe des Arrays (vermindern oder vergrößern)? Aus anderen Programmiersprachen kenne ich zB Befehle, mit denen man ein Array redimensionieren kann. Ich vermute, dass es so etwas bei Java-Arrays nicht gibt.

Vielleicht ist eine Redimensionierung auch gar nicht nötig!?? Kann es sein, dass das alte Array bei Neuanlage (Neuaufruf der Methode, die das Array anlegt) das alte Array automatisch überschreibt? Kann es sein, dass der Garbage Collector das alte Array automatisch aufräumt (beseitigt)?

Oder wäre es besser, mit anderen "Werkzeugen" zu arbeiten? Arraylists scheinen hier zB etwas flexibler zu sein.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

03.12.2015, 21:46:06 via App

Etwas code wäre hier nicht schlecht.
Bei sowas arbeite ich immer gerne mit Listen (ArrayList) statt array. Aber ist egal, geschmackssache.

zum Redimensionieren einfach das Objekt überschreiben:
objArray = new Object[10];

Bei ArrayLists wäre dies nicht nötig. Diese köntest du nach dem befüllen auch in ein normales Array konvertieren.

LG Pascal //It's not a bug, it's a feature. :) ;)

Frank Rudolf

Antworten
Fabian Simon
  • Forum-Beiträge: 359

04.12.2015, 12:05:30 via Website

Je nach Anwendungsfall sind auch Maps gut (brauchst halt ne eindeutige ID). Diese sind aber Mächtig und sollten nicht vernachlässigt werden ;)

Frank Rudolf

Antworten