Datentypen Zeile aus mehrdimensionalem Array extrahieren uns abspeichern

ConzT

Mitglied
Hi alle zusammen,

ich bin relativ neu was Java anbelangt(seid ca. einem Jahr auf der Uni damit zu tun)..
Da ich bis jetzt nur stiller Mitleser war und ich bis jetzt hier immer Lösungen zu meinen Problemen gefunden habe erstmal Hi an alle ;-) Bei meinem momentanen Problem weiß ich aber nicht weiter...

Zu meiner Frage:

Ich habe ein zweidimensionales Array:

4 3 3 4 3 4 3 3
1 2 2 1 3 1 2 2
4 3 3 4 3 4 3 3
1 3 3 1 2 1 3 3
4 3 3 4 3 4 3 3
1 2 2 1 3 1 2 2
1 2 2 1 3 1 2 2



Hier sind Zeilen [0,2,5] gleich, [1,6,7] gleich und Zeile 4 nicht.

Was ich machen möchte:

Die erste Zeile extrahiere ich(ich nenne sie mal "ausgangszeile" und speichere sie in einem eindimensionalem Array. Soweit so gut.

Im nächsten Schritt möchte ich die erste Zeile mit der nächsten vergleichen. Fürs vergleichen habe ich auch schon eine Methode geschrieben.

Nun mein Problem. Wenn zwei Zeilen übereinanderstimmen soll die "ausgangszeile" abgespeichert werden.

Wenn ich dann am Ende jede Zeile mit jeder Zeile verglichen habe, hätte ich es gerne so abgespeichert, dass Ich, beispielsweise unter "Key" 1, die Arrays der Zeilen 0,2,5 abspeichere, unter "Key" 2, die Arrays der Zeilen 1,6,7 und unter "Key" 3 das Array der Zeile 4 abspeichere.
die "Keys" sollen je nachdem wie viele Zeilen übereinanderstimmen erhöht werden.

Ich hoffe ihr wisst was ich meine ;-)



Wäre super wenn jemand einen passenden Lösungsvorschlag hat!

Danke euch schon mal!

Lg ConzT
 

ConzT

Mitglied
Hi, danke für den Link. Aber da hab ich auch nicht das gefunden was ich brauche. Wie ich arrays vergleiche weiß ich ja.
Mein Problem ist wo ich die passenden Zeilen gemeinsam am besten abspeichern wenn diese übereinanderstimmen...
 

KaffeeFan

Bekanntes Mitglied
Was hast du dir denn vorgestellt was "Key" sein soll? Du könntest die Strings auf Gleichheit überprüfen und in einen neuen String "Key" dann die Inhalte kopieren
 

ConzT

Mitglied
Als Key hätte ich mir einfach Integer Werte vorgestellt. Unter 1 speichere ich die Arrays der Zeilen 0,2,5 unter 2 die Arrays der Zeilen 1,6,7 usw.. Ich brauche die Zeilen um sie nachher weiterzuverarbeiten. Ich bin mir Momentan nur nicht sicher ob ich derzeit nicht viel zu kompliziert denke..

Mit den Strings habe ich ja dann das selbe Problem oder? Weiß einfach nicht wo und wie ich sie gemeinsam abspeichern...
Hab gerade überlegt ob ich mir einfachhalber nicht einfach die ZeilenNr abspeichern soll. Aber ich weiß nicht wie ich sie gemeinsam abspeichern soll, damit ich auch später weiß, dass diese zusammengehören.

Hoffe du/ihr versteht was ich meine.. sry :/
 

KaffeeFan

Bekanntes Mitglied
Ein Integer kann meines Wissens nur einen Wert annehmen, daher könntest du die ganzen Integer-Werte aus deinen Arrays ja nicht in einen zusammenpacken... Du könntest eine Abfrage machen, die überprüft ob zwei Arrays gleich sind und mit clone() erstellst du, falls sie gleich sind, einen Klon eines deiner Arrays und nennst ihn z.B. "Key1"...
 

ConzT

Mitglied
Sry, dass ich mich erst heute wieder melde!
Hab die Lösung zu meinem Problem gefunden, schäme mich ein wenig dafür;) Wusste nämlich nicht, dass ich in einer Liste auch einfach ein int[] Array abspeichern kann:confused::confused:

Hier mein Code falls er euch interessiert. Bin über alle möglichen Verbesserungsvorschläge glücklich! Auch was vereinfachung usw. angeht.:)

Java:
package model;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;

import model.*;
public class NichtZusammenhaengend {

    public NichtZusammenhaengend() {
       
    }

   
    public int[][] komponentenMatrix(int[][] adjazenzmatrix) {
        Wegmatrix matrix = new Wegmatrix();
        int[][] adjmatrix = matrix.cloneAdjazenzmatrix(adjazenzmatrix);
       
        ArrayList<Integer> vektor = new ArrayList<>();
        int z = 0;
        int s = 0;
       
        while(s < adjmatrix[0].length){
            vektor.add(adjmatrix[0][s]);
            s++;
        }
       
       
        int[][] komponentenmatrix = new int[adjazenzmatrix.length][adjazenzmatrix[0].length];
       
        z = 0;
        while(z < adjmatrix.length) {
            s = 0;
            while(s < adjmatrix[0].length) {
                if(vektor.get(s) == 1 && adjmatrix[z][s] == 0) {
                    komponentenmatrix[z][s] = 1;
                } else if(vektor.get(s) == 0 && adjmatrix[z][s] == 1) {
                    komponentenmatrix[z][s] = 2;
                } else if(vektor.get(s) == 0 && adjmatrix[z][s] == 0) {
                    komponentenmatrix[z][s] = 3;
                } else if(vektor.get(s) == 1 && adjmatrix[z][s] == 1) {
                    komponentenmatrix[z][s] = 4;
                }
                s++;
            }
            z++;
        }
        return komponentenmatrix;   
    }
   
   
    //ermittelt die anzahl der Komponenten! Muss noch optimiert werden, da ich auch wenn ich schon alle elemente habe, die Schleife weiterläuft und Zeilen auf Gleichheit prüft! Schon geprüfte und aufgenommene Zeilen müssen gelöscht werden!
    public ArrayList<int[]> extractKomponenten(int[][] komponentenmatrix) {
       
       
        ArrayList<int[]> extractKomponenten = new ArrayList<>();
        int j = 0;
        while(j < komponentenmatrix.length) {
            int z = 0;
            int[] vergleichsmatrix = extractColumn(komponentenmatrix, j);
            while(z < komponentenmatrix.length) {
                int[] temparray1 = extractColumn(komponentenmatrix, z);
                if(vergleichen(vergleichsmatrix, temparray1)){
                    if(!wertVorhanden(extractKomponenten, temparray1)) {
                        extractKomponenten.add(temparray1);
                    }
                }
                z++;
            }
            j++;
        }
            return extractKomponenten;
    }
   
   
    public int getAnzahlKomponenten(ArrayList<int[]> komponenten){
        return komponenten.size();
    }
   
    //Prüft ob eine Matrix(Zeile aus der Komponentenmatrix schon in der ArrayList vorhanden ist! Dies ist notwendig, damit ich die anzahl an Komponenten später feststellen kann.
    public boolean wertVorhanden(ArrayList<int[]> extractKomponenten,int[] matrix) {
       
        for(int[] w : extractKomponenten){
            if(vergleichen(w, matrix)) return true;
        }
        return false;
    }
   
    //extrahiert ein array(Zeile) aus einem zweidimensionalem array
    public int[] extractColumn(int[][] komponentenmatrix, int zeile) {
        int z = zeile;
        int[] temparray1 = new int[komponentenmatrix[0].length];
            int s=0;
            while(s< komponentenmatrix[0].length) {
                temparray1[s] = komponentenmatrix[z][s];
                s++;
        }
        return temparray1;       
    }
   
   
   
    public boolean vergleichen(int[] m1, int[]m2) {
        int z = 0;
        boolean gleich = false;
        while(z < m1.length && gleich == false ) {
            if(m1[z] == m2[z]) {
                z++;
            } else return false;
        }
        return true;
    }
}


Hier noch die matrix, welche ich an die Methode komponentenMatrix übergebe:

Java:
int[][] matrix1 = {{1,0,0,1,0,1,0,0},{0,1,1,0,0,0,1,1},{1,0,0,1,0,1,0,0},{0,0,0,0,1,0,0,0},{1,0,0,1,0,1,0,0},{0,1,1,0,0,0,1,1},{0,1,1,0,0,0,1,1}};

Danke schon mal!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Glühlampe Usereingabe in der gleichen Zeile ausgeben Java Basics - Anfänger-Themen 6
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
G Compiler-Fehler Fehler in Zeile 1 beheben, wie? Java Basics - Anfänger-Themen 9
I Wortkette in umgekehrter Rheinfolge + in neuer Zeile ausgeben Java Basics - Anfänger-Themen 4
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
G JTable, Zeile auswählen und Ergebnis an Schaltfläche übergeben Java Basics - Anfänger-Themen 4
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
dieter000 Wie schreibe ich diese ZEile um? Java Basics - Anfänger-Themen 1
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
S Gesamten String in einer Zeile ausgeben Java Basics - Anfänger-Themen 2
J ObjectOutputStream writeChars, komische Zeichen nur in 1. Zeile Java Basics - Anfänger-Themen 2
T Was macht diese Zeile? Java Basics - Anfänger-Themen 9
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
B Code Zeile unklar Java Basics - Anfänger-Themen 9
ruutaiokwu Ausgegebene Zeile ersetzen mit neuem Text Java Basics - Anfänger-Themen 3
F Zeile in Ordner Java Basics - Anfänger-Themen 4
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
C Java liest nur eine Zeile ein Java Basics - Anfänger-Themen 3
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
B Wieso wird die Zeile "column" genannt und die Spalte "line"? Java Basics - Anfänger-Themen 12
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
M Zeile in datei überschreiben Java Basics - Anfänger-Themen 5
S drawString() neue Zeile Java Basics - Anfänger-Themen 4
D Falsche Zeile wird in JTable gelöscht Java Basics - Anfänger-Themen 6
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
W String in einer Zeile mit Alphabet füllen? Java Basics - Anfänger-Themen 8
snipesss [Java] Schriftart und Schriftgröße von JLabel in einer Zeile festlegen? Java Basics - Anfänger-Themen 3
H Variablen Zeile aus einem ResultSet ausleesen Java Basics - Anfänger-Themen 7
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
R Ab einer bestimmten Zeile lesen Java Basics - Anfänger-Themen 3
T Zeilen des ListArray nach einem Wort durchsuchen und diese Zeile ausgeben Java Basics - Anfänger-Themen 4
B FileInputStream entpacken und Zeile für Zeile entpacken Java Basics - Anfänger-Themen 1
Crazynet jTable erste Zeile mit deffinierten Werten Java Basics - Anfänger-Themen 0
S Zeile entfernen aus JTable Java Basics - Anfänger-Themen 15
S In JTable Zeile selektieren mit Mausklick Java Basics - Anfänger-Themen 16
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
G zeichen einer Zeile löschen Java Basics - Anfänger-Themen 4
F Zeile bei JTable hinzufügen Java Basics - Anfänger-Themen 6
A CSV datei eine Bestimmte Zeile ansprechen Java Basics - Anfänger-Themen 1
J Input/Output Zeile in Textdatei ändern Java Basics - Anfänger-Themen 14
S Java CSV, er nimmt die nächste Zeile nicht Java Basics - Anfänger-Themen 2
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
G Zeile charweise lesen Java Basics - Anfänger-Themen 3
Ananaskirsche Input/Output Bestimmte Zeile aus Datei einlesen Java Basics - Anfänger-Themen 4
G Leere Zeile lesen Java Basics - Anfänger-Themen 12
G zeile: Was bedeutet das in der Methode? Java Basics - Anfänger-Themen 4
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
T Textdatei Zeile löschen? Java Basics - Anfänger-Themen 4
C Input/Output Hilfe..txt Datei zeile verändern und Ausgabe ..Hilfe Java Basics - Anfänger-Themen 11
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
L Ansprechung der x'ten Zeile in Arrays Java Basics - Anfänger-Themen 10
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
G JTable: Inhalt einer selektierten Zeile speichern Java Basics - Anfänger-Themen 2
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
I .txt Datei Zeile löschen. Java Basics - Anfänger-Themen 13
B Geschwindigkeitsabhängigkeit von Anz. d. Operatoren pro Zeile Java Basics - Anfänger-Themen 12
D Bestimmte Zeile aus TXT Datei ausgeben Java Basics - Anfänger-Themen 4
H Input/Output JTextArea einzelne Zeile auslesen Java Basics - Anfänger-Themen 6
Rayo Lese Zahl in Zeile x aus Spalte y ein! Java Basics - Anfänger-Themen 36
T Erste Schritte Ende von Wörtern in einer Zeile feststellen? Java Basics - Anfänger-Themen 5
N User Eingabe mit Zeile aus TextFile vergleichen Java Basics - Anfänger-Themen 13
L warum werden nicht die neuen Point Daten der Zeile 25 beim ausprinten Zeile 28 übernommen ? Java Basics - Anfänger-Themen 8
Kenan89 Bestimmte Zeile in txt-Datei ersetzen Java Basics - Anfänger-Themen 4
G Bitte um Erklärung dieser einer Zeile Java Basics - Anfänger-Themen 5
D Input/Output bestimmte Zeile auslesen Java Basics - Anfänger-Themen 3
G Ausgabe nach 5 Zeichen in neue Zeile schreiben??? Java Basics - Anfänger-Themen 12
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
B Erste Schritte Kosolennanwenung nur eine Zeile Java Basics - Anfänger-Themen 9
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
B Aus Text Zeile einen String herauslesen Java Basics - Anfänger-Themen 11
W Eingabe und Ausgabe in eine Zeile Java Basics - Anfänger-Themen 4
Corben Input/Output FileOutputStream - neue Zeile mit write(10) Java Basics - Anfänger-Themen 6
K Erste Schritte Array mit 3 werte in eine Zeile -- Hilfe! Java Basics - Anfänger-Themen 2
G Was bedeutet diese Zeile? Java Basics - Anfänger-Themen 2
E Zeile innerhalb Datei überschreiben Java Basics - Anfänger-Themen 2
P Kann Ziffer die am Ende einer Zeile steht (.txt) nicht in int übersetzen Java Basics - Anfänger-Themen 11
F In der Zeile des Ausführers bleiben? Java Basics - Anfänger-Themen 6
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
A OOP Arraybefüllung mit for-Schleifen Problem: Umsprung in die zweite Zeile Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben