element in Array kopieren

Swoop

Gesperrter Benutzer
Hey,

Also ich hab ein Problem mit einer Funktion! Und zwar hab ich ein String-Array. Jetzt muss ich dort in die Mitte ein neues Element kopieren und alle anderen Elemente nach hinten verschieben. Dazu hab ich mir auch schon eine Lösung überlegt.

1. Ich erstelle ein neues Array = array2
2. Alles Strings die Kleiner als der übergebene Index sind können genauso übernommen werden
3. index und i sind gleich dann wird der neue Wert "add" übernommen
4. Alles was größer ist als index wird dann eingefügt und einfach i-1 genommen.

So die Theorie ! Hier die Praxis:

Java:
public void addElements(String add, int index)
	{
		// Überprüfen ob this.parts leer ist
		if (this.parts == null) {
			this.parts = new String[1];
			this.parts[0] = add;
		}
		else {
			// Zweites Array erstellen
			String[] array2 = new String[this.parts.length + 1];// 1.

			for (int i = 0; i < array2.length; i++) {
				if (this.parts[i].length() < index)// 2.
					array2[i] = this.parts[i];
				else if (this.parts[i].length() == index)// 3.
					array2[i] = add;
				else if (this.parts[i].length() > index)// 4.
					array2[i] = this.parts[i - 1];
			}
			this.parts = array2;// Und zum Schluss Array Speichern
		}
		for (int i = 0; i < this.parts.length; i++) { // Testausgabe!
			System.out.println(this.parts[i]);
		}
	}

Und das ist die Exception:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

Ich weiß zwar was sie bedeutet komm aber auf keine andere Lösung -.-

Gruß Swoop
 
S

Sosososo

Gast
Java:
array2[i] = this.parts[i - 1];

Dort tritt wohl die Exception auf weil -1 als index im Array nicht gibt
 

Swoop

Gesperrter Benutzer
Java:
array2[i] = this.parts[i - 1];

Dort tritt wohl die Exception auf weil -1 als index im Array nicht gibt

Jo richtig ! Soweit bin ich auch aber eigentlich dürfte er in die if-claus nur rein gehen wenn es größer als der index ist ... und dann ist die länge des Array´s größer!

Wandle dein Array in eine ArrayList um. Dort kannst du etwas an einem Index einfügen und alle nachfolgenden Elemente werden verschoben.

Das geht nicht ... es wäre zuviel arbeit alles zu ändern ! es sollte shcon so klappen!

Als alternative hab ich mir überlegt aus dem array ne arraylist zu machen und dann zum schluss wieder zu nem array ! ISt das Möglich?
 

faetzminator

Gesperrter Benutzer

Foermchen82

Top Contributor
Jo richtig ! Soweit bin ich auch aber eigentlich dürfte er in die if-claus nur rein gehen wenn es größer als der index ist ... und dann ist die länge des Array´s größer!



Das geht nicht ... es wäre zuviel arbeit alles zu ändern ! es sollte shcon so klappen!

Als alternative hab ich mir überlegt aus dem array ne arraylist zu machen und dann zum schluss wieder zu nem array ! ISt das Möglich?

Also geht es ja doch wenn du schon danach fragst! Ja aus einer Arraylist kann man dann wieder ein Array machen. Das meinte ich auch mit "Umwandeln". Du sollst nicht den ganzen Code umstellen!!
 

Swoop

Gesperrter Benutzer

Es lohnt sich aber nicht das ganze Projekt umzubauen! Außerdem ist das Array an vielen stellen einfach einfacher ... es ist nur an der einen stelle...

Also geht es ja doch wenn du schon danach fragst! Ja aus einer Arraylist kann man dann wieder ein Array machen. Das meinte ich auch mit "Umwandeln". Du sollst nicht den ganzen Code umstellen!!

Okay gut dann hab ich dich falsch verstanden ... hmm jo ich denke das werd ich dann auch machen ...

Danke euch beiden!
 

faetzminator

Gesperrter Benutzer
Außerdem ist das Array an vielen stellen einfach einfacher ...
Zeig mir ein Beispiel :D

zu [c]arrayCopy()[/c]:
Java:
String[] array2 = new String[array.length + 1];
System.arraycopy(array, 0, array2, 0, index);
System.arraycopy(array, index, array2, index + 1, array.length - index);
array2[index] = value;
 

@Work

Mitglied
Also, so wie ich das verstanden habe, willst du an einem bestimmten index deinen String einfügen.
Mit
Java:
if(this.array[i].length)
überprüfst du aber die länge des Strings an der i-ten stelle im array. Es sollte wohl aber so sein
Java:
if(i<index){}else if(i==index){}else if(i>index){}
oder?
 

Wortraum

Bekanntes Mitglied
Entweder gucke ich schief, was ich bei meiner heutigen Verfassung nicht ausschließen möchte, oder das kann vorne und hinten nicht funktionieren, weil:
1) Wenn array2 um eins länger ist als parts, man bis zum Ende von array2 läuft und mit dem letzten Index auf parts zugreift, kann es nur schiefgehen.
2) Beim ersten Element geht es auch gleich schief, da i = 0 ist: this.parts[i - 1];
3) Vielleicht verstehe ich es ja nicht, aber was soll in den if-Bedingungen dieser Teil: „this.parts.length()“? Was hat die Länge des Strings in parts mit der Sache zu tun?

System.arraycopy ist übrigens wesentlich schneller, als die Elemente „per Hand“ zu verschieben.
 

Swoop

Gesperrter Benutzer
okay gut danke !

ich hab das System.arraycopy nicht gekannt! aber es ist echt super ... jetzt funktionierts!

Danke...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Letztes, erstes Element vom Array Java Basics - Anfänger-Themen 9
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
X Array erstes und letztes Element tauschen Java Basics - Anfänger-Themen 2
O Element aus Array löschen Java Basics - Anfänger-Themen 5
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
B Element in Array nach unten verschieben Java Basics - Anfänger-Themen 11
B Methoden Element aus einem Array löschen, Rest nach vorne verschieben? Java Basics - Anfänger-Themen 4
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
Ruvok Prüfen ob bestimmtest Element existiert im Array Java Basics - Anfänger-Themen 11
M Letztes Element im Array finden Java Basics - Anfänger-Themen 3
G Element einem Array hinzufügen Java Basics - Anfänger-Themen 7
N Array, Element in Array? Java Basics - Anfänger-Themen 8
C Variablen array element hinzufügen/entfernen Java Basics - Anfänger-Themen 10
K Letzter element aus einem Array Java Basics - Anfänger-Themen 5
M String-Array-Element wieder null zuweisen Java Basics - Anfänger-Themen 16
B Element aus Array entfernen Java Basics - Anfänger-Themen 13
A Array ein element hinzufügen. Java Basics - Anfänger-Themen 6
S Auf Element aus Array zugreifen Java Basics - Anfänger-Themen 6
T Letztes beschriebenes Array-Element ausgeben Java Basics - Anfänger-Themen 6
T Array auf einfaches Element umwandeln Java Basics - Anfänger-Themen 8
J Array: Jedem Element direkt denselben Wert zuweisen Java Basics - Anfänger-Themen 6
P guck ob Element in Array List enthalten ist Java Basics - Anfänger-Themen 2
kulturfenster Element in Array finden Java Basics - Anfänger-Themen 22
J Element aus Array entfernen Java Basics - Anfänger-Themen 4
0 Element aus Array löschen andere Elemente verschieben? Java Basics - Anfänger-Themen 7
R jedes X-te Element aus Array entfernen? Java Basics - Anfänger-Themen 3
A array letztes element anzeigen? Java Basics - Anfänger-Themen 5
G Array-Element auf null abfragen Java Basics - Anfänger-Themen 9
D Wie kann ich aus einem File[] (Array) ein Element löschen ? Java Basics - Anfänger-Themen 13
T Array-Element in String schreiben Java Basics - Anfänger-Themen 2
K Wie kann ich ein Element an den Anfang setzten ? Java Basics - Anfänger-Themen 1
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
L Längstes Element einer ArrayList ausgeben Java Basics - Anfänger-Themen 9
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
Y Wie kann ich ein Element in einer toString finden. Java Basics - Anfänger-Themen 2
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
S Gibt es ein simples JWebbrowser Element? Java Basics - Anfänger-Themen 6
M Letztes Element einer ArrayList Java Basics - Anfänger-Themen 12
S Streams - kleinstes Element finden Java Basics - Anfänger-Themen 4
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
V_Fynn03 Lineare Datenstrukturen Element löschen? Java Basics - Anfänger-Themen 2
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
Curtis_MC Collections Zufälliges Element aus Stack Java Basics - Anfänger-Themen 2
A Konsolenausgabe: Hinter letztes Element ein "}" Java Basics - Anfänger-Themen 2
F nur das erste Element mit iterator ausgeben Java Basics - Anfänger-Themen 5
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
D Selenium Webdrive get x Element Java Basics - Anfänger-Themen 14
W Element aus HashSet in String umformen Java Basics - Anfänger-Themen 7
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
TechGirl JAVA GUI Oberfläche Umkreisung - wie heißt dieses Element? Java Basics - Anfänger-Themen 2
Z Html Element aus der Webseite auslesen Java Basics - Anfänger-Themen 1
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K Element in ArrayList löschen ohne Index zu verschieben Java Basics - Anfänger-Themen 2
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
S Günstigstes Element aus einer ArrayList ausgeben Java Basics - Anfänger-Themen 10
N ArrayList: Das zweite Element wird zur Liste nicht eingefügt nach dem zweiten request. Java Basics - Anfänger-Themen 3
A ResultSet: vorheriges Element auslesen Java Basics - Anfänger-Themen 10
F Element aus LinkedList löschen Java Basics - Anfänger-Themen 3
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
V wie kann man am einfachsten für ein Element der JavaFX die Umrandung aktiwieren ? auch ohne css ? Java Basics - Anfänger-Themen 4
D Fehlermeldung "com.element.JavaUpload.Manager" Java Basics - Anfänger-Themen 1
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
I Element löschen aus der Liste Java Basics - Anfänger-Themen 2
G element in ArrayList Hinzufügen Java Basics - Anfänger-Themen 16
M ArrayList-Element hinzufügen u. löschen Java Basics - Anfänger-Themen 2
H Möglichkeit, mehrere Element zu speichern Java Basics - Anfänger-Themen 8
P Element aus einer einelementigen Menge bekommen. Java Basics - Anfänger-Themen 8
R Mit iterator auf Element zugreifen Java Basics - Anfänger-Themen 2
Madlip Erste Schritte Das 4. Element?!? Java Basics - Anfänger-Themen 2
B Erstes Element eines Vectors erhalten Java Basics - Anfänger-Themen 5
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
I Liste Remove erstes Element Java Basics - Anfänger-Themen 5
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
M element aus DB lesen Java Basics - Anfänger-Themen 4
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
R Element an ArrayList<int[]> "anonym" adden? Java Basics - Anfänger-Themen 3
Glühwürmchen Prüfen ob Element in ArrayList Java Basics - Anfänger-Themen 23
C Ausgewähltes Element einer JCombobox in JTextField Java Basics - Anfänger-Themen 3
L Element in Mitten eines Arrays einfügen Java Basics - Anfänger-Themen 3
S ArrayList nur ergänzen wenn Element noch nicht vorhanden Java Basics - Anfänger-Themen 4
3 3. Element mit regulären Ausdruck suchen Java Basics - Anfänger-Themen 12
S Auf Element in Arry zugreifen Java Basics - Anfänger-Themen 7
B Element in Folge suchen Java Basics - Anfänger-Themen 7
H Zeiger auf das letzte Element in einer linearen Liste Java Basics - Anfänger-Themen 4
H LinkedList Element an Stelle x ausgeben? Java Basics - Anfänger-Themen 5
S Datentypen In ArrayList nach Element suchen und Position ausgeben Java Basics - Anfänger-Themen 9
M Wert soll element aus den natürlichen Zahen inkl. 0 sein Java Basics - Anfänger-Themen 6
E TreeSet Element löschen Java Basics - Anfänger-Themen 9
J Stapel oberstes Element entfernen Java Basics - Anfänger-Themen 5
C Erstes Arraylist Element in for Schleife überspringen Java Basics - Anfänger-Themen 6
F jTable - neues Element vorher auf existenz Prüfen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben