Array; Elemente kopieren

J

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;
    }
}
 
J

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];
    }
 
kneitzel

kneitzel

Top Contributor
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....
 
J

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)
    {
        //....
    }
}
 
kneitzel

kneitzel

Top Contributor
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.
 
J

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
 
kneitzel

kneitzel

Top Contributor
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?
 
J

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...
 
kneitzel

kneitzel

Top Contributor
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?
 
kneitzel

kneitzel

Top Contributor
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.
 
kneitzel

kneitzel

Top Contributor
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?
 
J

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

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/
 
J

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
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
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 2
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 2
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
A Einmaleins 2D Array Java Basics - Anfänger-Themen 1
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
O System.out array Java Basics - Anfänger-Themen 4
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 24
X Zwei Dimensionales Array prüfen Java Basics - Anfänger-Themen 1
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
TimoN11 Array mit unterschiedlichen längen aktualisieren, dann als Methodenwert einsetzen Java Basics - Anfänger-Themen 1
G Bubblesort Array der Größe 10 Java Basics - Anfänger-Themen 1
M Initialen mit Array wiedergeben Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
G Array Werte addieren Java Basics - Anfänger-Themen 4
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
L Array Rotation Java Basics - Anfänger-Themen 4
D Ausgabe von Array Java Basics - Anfänger-Themen 2
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
J Ist es möglich einen int Array wirklich leer zu initialisieren oder zu füllen? Java Basics - Anfänger-Themen 21
P Datentypen Array und String Java Basics - Anfänger-Themen 2
Zeppi Array Java Basics - Anfänger-Themen 2
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
Zeppi Jagged Array Java Basics - Anfänger-Themen 6
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
U Muster in einem Array erkennen Java Basics - Anfänger-Themen 8
L Array mit Wörtern gestalten Java Basics - Anfänger-Themen 2
Gaudimagspam Nummern generieren Array Java Basics - Anfänger-Themen 4
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
P JSON-Array auf Excel-Spalten verteilen? Java Basics - Anfänger-Themen 5
J Array über Getter erlangen Java Basics - Anfänger-Themen 34
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
T Array füllen Java Basics - Anfänger-Themen 11
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
S Auf Array aus Objekten zugreifen? Java Basics - Anfänger-Themen 1
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
A Speicherbereich von Array nicht zusammenhängend? Java Basics - Anfänger-Themen 8
S Java Array Probleme Java Basics - Anfänger-Themen 3
S Java Array Problem... Java Basics - Anfänger-Themen 2
C 2dimensionales array, Lagerverwaltung Java Basics - Anfänger-Themen 64
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
parrot Array Übung Java Basics - Anfänger-Themen 25

Ähnliche Java Themen

Anzeige

Neue Themen


Oben