Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
und zwar geht es darum das ich 2 Listen erstellt habe in der einen (linken) Liste stehen (sagen wir mal 10) Elemente die nicht verändert (also neue hinzugefügt oder alte gelöscht ) werden können.
In die rechte Liste sollen die Elemente von der linken verschoben und gespeichert werden.
Soweit sogut...
Mein Problem ist das ich eine Methode erstellen muss die die Listen miteinander vergleicht und in der linken liste nur die Elemente anzeigt die nicht in der rechten stehen.
Also z.b wenn 5 von 10 Elementen der linken Liste in der rechten stehen dann sollen in der linken Liste nur die Elemente angezeigt werden die nicht in der rechten stehen (also die 5 die nicht rechts stehen).
Hoffe Ihr habt alle verstanden was ich meine und könnt mir helfen oder Denkanstöße geben.
..in der einen (linken) Liste stehen (sagen wir mal 10) Elemente die nicht verändert (also neue hinzugefügt oder alte gelöscht ) werden können.
..die die Listen miteinander vergleicht und in der linken liste nur die Elemente anzeigt die nicht in der rechten stehen.
hohl dir von der rechten Liste alle Elemente und überprüfe in einer verschachtelten-schleife (1. Schleife alle Elemente der linken Liste, 2. Schleife alle Elemente der rechten Liste), ob ein Element in beiden Listen vorkommt. Falls ja einfach aus der Linken löschen.
Mit der linken liste verändern meinte ich nur das man da keine neuen Elemente einfügen kann oder Elemente ganmz löschen kann das die dann nnicht mehr angezeigt werden wenns klappt is schon klar
Wenn alle Elemente aus der linken Liste in der rechten sind dann sollen in der linken keine mehr angezeigt werden da sollen nur die Elemnte angezeigt werden die nicht in der rechten stehen.
Also stehen in der rechten nur 8 elemente sollen in der linken die 2 Element stehen die rechts nicht sind.
Dank dir Hobbit_Im_Blutrausch hab zwar noch ncih schleifen gem,acht aber ich werd mal versuchen ob ich das hinkriege.
Ich mach grad ein Parkatikum seit 2 Monaten und in 2 wochen entscheidet sich ob ich denn Ausbildungsplatz krieg oder nicht.
ALso die ahben mir hier immer nur die dinge erklärt die ich für die Sachen die ich Programmiere brauch und ne schleife brauchte ich bisher nciht also das heisst für mich ich muss mich wieder reinlesen ^^
Hier ein kleines Beispiel mit Vectoren. Bei Fragen: lass alles raus
Code:
import java.util.Vector;
public class CollectionTest {
public static void main(String[] args) {
Vector<Integer> all = new Vector<Integer> ();
Vector<Integer> part = new Vector<Integer> ();
int random = 0;
System.out.print("Alle Zahlen in \"all\": ");
// all füllen
for (int i = 0; i < 11; i++) {
all.add(i);
System.out.print(i + " ");
}
System.out.print("\nAlle Zahlen in \"part\": ");
// part füllen
for (int i = 0; i < 6; i++) {
random = ((int)(Math.random() * 20));
part.add(random);
System.out.print(random + " ");
}
System.out.print("\nZahlen die doppelt auftreten: ");
// Zahlen von part aus all entfernen
for (int i = 0; i < part.size(); i++) {
for (int j = 0; j < all.size(); j++) {
if (all.elementAt(j) == part.elementAt(i)) {
System.out.print(all.elementAt(j) + " ");
all.removeElementAt(j);
j--;
}
}
}
System.out.print("\nAlle Zahlen in \"all\": ");
for (int i = 0; i < all.size(); i++) {
System.out.print(all.elementAt(i) + " ");
}
}
}
Hab das gefunde damit prüft der anscheinend was links und rechts steht...
Was ich nicht weiss ist wie ich die schleife schreiben muss damit er die Elemente die recvhts schon stehen links rauslöscht.
Code:
public boolean executeOk() {
Iterator it;
// choosenOld hat noch den alten Stand
choosenInsert = new Vector(); // leer
choosenDelete = new Vector(); // leer
choosenNew = new Vector(); // leer
// Jetzt müssen wir choosenNew mit dem Stand aus der Maske füllen
ListModel lm = target.getModel();
for (int i = 0; i < lm.getSize(); i++) {
Object one = lm.getElementAt(i);
choosenNew.add(one);
}
// jetzt ist choosenNew gefüllt
// Welche Element sind dazu gekommen ? Antwort -> choosenInsert
// Welche Element sind entfernt worden ? Antwort -> choosenDelete
it = choosenOld.iterator();
while (it.hasNext()) {
Object one = it.next();
// prüfen gibt es das Element one in choosenNew ?
if (isElementEnthalten(choosenNew, one) == false) {
choosenDelete.add(one); // Element fehlt, somit soll es wohl
// gelöscht werden
}
}
it = choosenNew.iterator();
while (it.hasNext()) {
Object one = it.next();
// prüfen gibt es das Element one in choosenNew ?
if (isElementEnthalten(choosenOld, one) == false) {
choosenInsert.add(one); // Element ist neu, soll wohl eingefügt
// werden
}
}
inwiefern? Ich habe im Prinzip zwei Listen, die enthält eine Reihe von Daten und die anderen auch. Ich lösche aus einer Liste alle Daten raus, die sich in der anderen ebenfalls befinden. Prinzipiell genau das was du möchtest.
Haste recht aber ich schaffs grad nicht das für ne liste umzuschreiben hab aber auch gleich feierabend (vll liegts es daran ) und kann mich kaum noch konzentrieren (lust is aufem null punkt ^^).
Versuch das morgen weiter mal sehen ob ich des dann schaffe für ne Liste umzuschreiben kann ja nicht so schwer sein oder ??
Habs jetzt geändert aber das sind noch die zahlen drin denke ich oder ??
Wie gesagt sry aber hab mit schleifen noch nciht viel gearbeiotet hab also absolut keinen plan davon....
Sieht jetzt so aus:
(Vll kann einer kurz rüberschauen und mir sagen was ich noch veränmdernm muss w#är supa nett danke)
Code:
import java.util.Vector;
public class CollectionTest {
public static void main(String[] args) {
int random = 0;
// all füllen
for (int i = 0; i < 11; i++) {
alle.add(i);
}
// part füllen
for (int i = 0; i < 6; i++) {
random = ((int)(Math.random() * 20));
choosen.add(random);
}
// Zahlen von part aus all entfernen
for (int i = 0; i < choosen.size(); i++) {
for (int j = 0; j < alle.size(); j++) {
if (alle.elementAt(j) == choosen.elementAt(i)) {
alle.removeElementAt(j);
j--;
}
}
}
}
}
ja natürlich. Das sollte auch nur eine inspiration für dich sein. Du musst selbstredend die Daten aus deiner JList auslesen und diese miteinander vergleichen.
Kann das so hinkommen wenn nich dann weiss ich auch nicht merh weiter da fehlt auf jdenfall noch was da is mir klar aber bin ich auf dem richtigrn weg ?
Code:
it = clorse.iterator();
while (it.hasNext()) {
Object one = it.next();
if (isElementEnthalten(choosenNew, one) == false) {
}
}
Irgendwie scheint es mir so, als ob du dir irgendwie irgendwo irgendwelche Code-Schnippsel hohlst und die hier postest. Du hast doch kp was du das eigenltich machst oder?
Das is ja das Problem wie gesagt ich mach nur Praktikum(hab mich vor dem Praktikum nie mir Java beschäftigt) und das meiste lern ich aus beispielen und will die auch nich die ganze zeit fragen....
Naja, aber irgendwelche Codeschnippsel zu posten aus denen man aber auch sowas von gar nix schließen kann, uns hinzuwerfen und dann auf die Lösung zu warten geht auch net. Ich schreib dir vielleicht ma ne Methode, wenn ichs jetzt auf Arbeit (hau um spätestens 14:15 Uhr ab) noch schaff.
Jo wär supa nett das Problem ist ja das ich die ganze Befehle etc. noch garnicht kann ich weiss nicht was ich da alles eingeben kann und was nicht such auch schon die agnze zeit im inet nach Beispielen aber find keins was ich verwänden könnte....
Weiss auch nich ob`s ne sache von 5min oder von 30min ist aber mach dir keinen Stress bitte wenn du Zeit hast gerne wenn nicht dann hab ich halt pech gehabt
Jo wär supa nett das Problem ist ja das ich die ganze Befehle etc. noch garnicht kann ich weiss nicht was ich da alles eingeben kann und was nicht such auch schon die agnze zeit im inet nach Beispielen aber find keins was ich verwänden könnte....
[edit] Die Methode is normal kein großer Akt, aber ich glaub net, dass ichs vor Montag schaff und am WE hab ich besseres zu tun . Kannst mich ja am Mo nomma erinnern (weil ich sowieso vergess, so wie ich mich kenn)