Array; Elemente kopieren

jdeus

Mitglied
hallo zusammen, ich komme nicht weiter mit dieser Sache.
ich möchte bestimmte elemente aus einem array in ein anderes kopieren/hinzufügen. dabei darf ich nut mit der for schleife arbeiten.
meine idee ist:

Java:
Klasse [] oldArray = ..... // beinhaltet elemente der Klasse Klasse
Klasse objekt = ... // ein Objekt der Klasse Klasse
Klasse [] newArray;

// dabei möchte ich alle elemente des oldarrays in das neues array kopieren, die nicht gleich
// dem  Objekt "Klasse objekt" sind

for(int i=0; i<oldArray.length; i++)
{
    if(oldArray[i]!=objekt)
    {
        // tue dieses Element mit Index i in das neue Array
        newArray[i]=i;
    }
}
 

jdeus

Mitglied
Java:
// ich bin jetzt auf die idee gekommen 2 for-schleife benutzen
// und newArray anders zu deklarieren :

...
Klasse [] newArray = new Klasse [20];

...
// for schleife nach der if/bedingung
    for(int k =0 ; k<newArray;k++)
    {
        newArray[k] = oldArray[i];
    }
 
K

kneitzel

Gast
Mein Tipp: Überlege es Dir doch erst einmal ganz ohne Java. Wie würdest Du es umgangssprachlich machen?

Und nein - die zweite Schleife macht absolut keinen Sinn! Und der erste Code übersetzt nicht, denn Du hast newArray als ein Array von Klasse und du willst einen int Wert zuweisen? Daher: Erst einmal genau überlegen, was Du machen willst....

Prinzipiell hast du einen Ansatz, der richtig ist:
Du hast eine Schleife, mit der Du durch das original Array gehst und Du vergleichst jedes Element.
Nun musst Du nur schauen, was Du genau machen willst, wenn es kein gesuchtes Objekt ist....
 

jdeus

Mitglied
Umgangsrpachlich:

ich gehe jedes einzelne Objekt der 1 Menge durch und vergleiche dieses mit meinem gegebenem Objekt.
In der Bedingung steht, dass ich alle Objekte der 1 Menge in die andere Menge speichern soll, die nicht gleich dem gegebenem Objekt sind.
Ich tue das in einer Schleife da ich vom 1 Element bis zum letzem Element den Vergleich machen soll.

wegen der 1 schleife

Java:
// soll die for each schleife angewendet werden?
for(Klasse k : oldArray)
{
    if(oldArray[k]!=objekt)
    {
        //....
    }
}
 
K

kneitzel

Gast
Der Part war ok, auch mit der for schleife. Nur das Speichern müsstest Du etwas ausführen. Prinzipiell hattest Du da ja einen ersten Ansatz, bei dem Du aber vermutlich lediglich etwas vergessen hattest:
Du hattest etwas wie:
Java:
newArray[i]=oldArray[i];
haben wollen, aber da hast Du vermutlich ein Problem festgestellt.

Wenn Du ein Problem festgestellt hast: Kannst Du das genau beschreiben? Hast Du eine Lösungsidee (ruhig umgangssprachlich).

aber ist das nicht korrekt ?
Da wäre der Code drumherum wichtig. Was ist k? In der letzten Schleife war k ja das Element.
 

jdeus

Mitglied
Ich versuche in der 2 for schleife die elemente aus dem neuem Array mit dem index k durch einen element aus dem altem array mit dem index i zu erstezten. da der neuer Array leer ist, bin ich davon ausgegangen dass durch

Java:
newArray[k] = oldArray[i];

ich z.B auf das Element 0 des Arrays newArray das Element 0 von dem altem Array ersetze
 
K

kneitzel

Gast
Eine Schleife führt ja etwas mehrfach aus. Also äußere Schleife ist klar - du gehst Du das original Array.
Aber die zweite Schleife? Willst Du denn jedes Element mehrfach kopieren?
 

jdeus

Mitglied
Eigentlich nicht :) Das ist halt das Problem : ich zebreche mir den Kopf, wie ich einfach dieses ein rausgesuchtes Element in ein leeres Array hinzufügen kann...
 
K

kneitzel

Gast
Kommen wir doch zu diesem Punkt zurück:
Der Part war ok, auch mit der for schleife. Nur das Speichern müsstest Du etwas ausführen. Prinzipiell hattest Du da ja einen ersten Ansatz, bei dem Du aber vermutlich lediglich etwas vergessen hattest:
Du hattest etwas wie:
Java:
newArray[i]=oldArray[i];
haben wollen, aber da hast Du vermutlich ein Problem festgestellt.

Wenn Du ein Problem festgestellt hast: Kannst Du das genau beschreiben? Hast Du eine Lösungsidee (ruhig umgangssprachlich).
Du müsstest mit dem Inhalt der inneren Schleife ja etwas lauffähiges bekommen haben. Und das macht ja auch etwas.... Konntest Du Dir das ansehen? Konntest Du irgendwas feststellen?
 
K

kneitzel

Gast
Wenn Du das in der ersten Schleife hast, dann wird es erst einmal übersetzen und bei Ausführung irgend etwas machen ...
Und die große Frage ist: macht es das, was Du willst? Oder siehst Du ein Problem, das noch gelöst werden müsste.
 
K

kneitzel

Gast
Ja, dieser erste Ansatz (den ich im ersten Post von Dir erkannt habe) macht genau dies: Es kopiert alle Elemente des ersten Array auf die gleiche Position im zweite Array, außer es handelt sich um das gegebene Objekt.

- Hat das erst einmal so geklappt, dass du Code hast, der sich übersetzen und ausführen lässt?
- Hast Du in diesem Code noch Probleme, sprich: Das Ergebnis, das Du bekommst, ist nicht das Ergebnis, das Du gerne hättest? Oder ist alle ok und Du hast eine Lösung, mit der Du zufrieden bist?
 

jdeus

Mitglied
Ich kann das leider jetzt noch nicht überprüfen , da es nur ein kleiner teil vom ganzen code sein sollte. Aber danke für die Hinweise!
 

mihe7

Top Contributor
Das erste, was Dir klar sein muss, ist, dass ein Array in der Regel nicht leer ist. Das wäre nur dann der Fall, wenn Du explizit Platz für 0 Elemente anforderst, also z. B. new Klasse[0] im Code stehen hättest. D. h. ein Array ist eine Art Regal, das Platz für eine fest definierte Anzahl an Elementen eines bestimmten Typs bietet.

Wenn Du jetzt schreibst:
Java:
newArray[1] = oldArray[5];
Dann bedeutet das nichts anderes als:
1. rechte Seite: lies den Wert aus oldArray, der sich dort an der sechsten Position befindet
2. "="-Operator: weise zu
3. linke Seite: an die zweite Position in newArray

Kurz: kopiere den Wert, der sich in oldArray an sechster Stelle befindet, an die zweite Stelle von newArray. Da der Index immer 0-basiert angegeben wird, ist dieser um 1 niedriger, d. h. die erste Stelle/Position im Array hat den Index 0.

Ein wenig mehr Details dazu findest Du z. B. auch unter https://www.java-forum.org/thema/von-datentypen-und-mehrdimensionalen-arrays.189506/
 

jdeus

Mitglied
Das erste, was Dir klar sein muss, ist, dass ein Array in der Regel nicht leer ist. Das wäre nur dann der Fall, wenn Du explizit Platz für 0 Elemente anforderst, also z. B. new Klasse[0] im Code stehen hättest. D. h. ein Array ist eine Art Regal, das Platz für eine fest definierte Anzahl an Elementen eines bestimmten Typs bietet.

Wenn Du jetzt schreibst:
Java:
newArray[1] = oldArray[5];
Dann bedeutet das nichts anderes als:
1. rechte Seite: lies den Wert aus oldArray, der sich dort an der sechsten Position befindet
2. "="-Operator: weise zu
3. linke Seite: an die zweite Position in newArray

Kurz: kopiere den Wert, der sich in oldArray an sechster Stelle befindet, an die zweite Stelle von newArray. Da der Index immer 0-basiert angegeben wird, ist dieser um 1 niedriger, d. h. die erste Stelle/Position im Array hat den Index 0.

Ein wenig mehr Details dazu findest Du z. B. auch unter https://www.java-forum.org/thema/von-datentypen-und-mehrdimensionalen-arrays.189506/
Danke für die ausführliche Antwort!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Elemente in einem Array Java Basics - Anfänger-Themen 5
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
H Array Elemente Java Basics - Anfänger-Themen 17
T Elemente aus Array zu TableView JavaFX übertragen Java Basics - Anfänger-Themen 2
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
V Array aus Klasse um vererbte Elemente erweitern Java Basics - Anfänger-Themen 3
A Array Elemente extrahieren ! Java Basics - Anfänger-Themen 4
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Array Elemente verschieben Java Basics - Anfänger-Themen 5
J Elemente in Array speichern, löschen, ... Java Basics - Anfänger-Themen 3
arjoopy Kapselung Elemente aus Objekt-Array ausgeben Java Basics - Anfänger-Themen 8
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
C Array Elemente Paarweise vertauschen Java Basics - Anfänger-Themen 2
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
R Variablen [GELÖST]Elemente in Array um Schrittweite s verschieben Java Basics - Anfänger-Themen 2
A Eindeutige Elemente aus Array extrahieren Java Basics - Anfänger-Themen 9
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
L Rückwärtsausgabe der Array-Elemente Java Basics - Anfänger-Themen 5
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
T Elemente im Array umdrehen Java Basics - Anfänger-Themen 9
L Elemente zufällig in ein Array verteilen Java Basics - Anfänger-Themen 12
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
W Elemente in einem Array nach 'oben' verschieben Java Basics - Anfänger-Themen 9
A Elemente in array umkehren Java Basics - Anfänger-Themen 32
H Alle Array-Elemente auf einmal überprüfen? Java Basics - Anfänger-Themen 10
R return Anweisungen und Array Elemente löschen Java Basics - Anfänger-Themen 6
B Ausgeben einzelner String Array Elemente funktioniert nicht Java Basics - Anfänger-Themen 4
K Elemente eines Array verschieben Java Basics - Anfänger-Themen 18
C Array - Elemente umordnen ? Java Basics - Anfänger-Themen 20
B zwei zufällige elemente aus array lesen und überprüfen Java Basics - Anfänger-Themen 8
T Elemente aus zweidimensionalen Array löschen Java Basics - Anfänger-Themen 6
D Array Elemente auslesen Java Basics - Anfänger-Themen 14
D Elemente im Array verschieben Java Basics - Anfänger-Themen 15
M XML-Elemente in Array speichern Java Basics - Anfänger-Themen 26
T Überprüfen, ob Array Elemente hat Java Basics - Anfänger-Themen 22
G Rekursiv Array Elemente quadrieren Java Basics - Anfänger-Themen 2
D String array im konstruktor --> wie gibt man elemente an? Java Basics - Anfänger-Themen 2
0 Element aus Array löschen andere Elemente verschieben? Java Basics - Anfänger-Themen 7
V Elemente an Array anhängen Java Basics - Anfänger-Themen 5
S Elemente aus Array entfernen Java Basics - Anfänger-Themen 8
M Array Elemente löschen Java Basics - Anfänger-Themen 6
G Elemente in einem String-Array in einen String umwandeln Java Basics - Anfänger-Themen 2
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben