Porównywanie dwóch wektorów

0

Witam wszystkich.

Tak jak w temacie, w jaki sposób można porównać zawartość dwóch wektorów w javie, dokładnie to tak mam jeden wektor i jeden wektor wektorów i chce sprawdzić czy zawartość wektora jest równy któremuś elementowi wektora wektorów, mam nadzieje że nie zakręciłem zabardzo ale jakby co to spróbuje napisać dokładniej. W języku C++ sprawa wyglądała bardzo prosto wystarczyło porównać dwa wektory, w javie to nie za bardzo działa.

Z góry dziękuje za wszelką pomoc

0

pokaż kod.
Ogólnie jeśli wrzucasz wektory do listy to wystarczy, że wywołasz na niej metodę contains.
Musisz też pamiętać, żeby przesłonić metodę equals w klasie jaką używasz do tworzenia wektorów.

0

Tu jest wycinek kody programu z zaznaczonym miejscem gdzie chce porównać wektorem

 Vector slowo = new Vector ();
        Vector slownik = new Vector ();
        Vector ciag = new Vector();
        Vector <Byte> kontener = new Vector <Byte>();

        for(int x = 0; x < 256; x++){
            slowo.add(x);
            slownik.addElement(slowo);
        }

        System.out.println(slownik.size());
        System.out.println("Petla");
        for(int x = 0; x < len; x++){
            ciag.addElement(wejscie[x]);
            System.out.println(ciag.get(0));
            //System.out.println(((Vector)slownik.elementAt(0)));
            for(int y = 0; y < slownik.size(); y++){
                //System.out.println("y");

                if(ciag == slownik.get(y)){   // Tu chce porównać wektor ciag z kolejnymi wektorami wektora slownik
                    System.out.println("Rowny");
                    x++;
                    ciag.addElement(wejscie[x]);
                    index = y;
                }
            }
        x--;
        kontener.addElement((byte)(index % 256));
        kontener.addElement((byte)(index / 256));
        if(slownik.size() < 65535){
            slowo.addElement(ciag);
            slownik.addElement(slowo);
        }
        ciag.clear();
        }
0

sprawdź czy nie wystarczy zmienić warunku

ciag == slownik.get(y)

na ciag.equals(slownik.get(y))


//edit 
Poza tym sposób tworzenia słownika jest błędny - nie będzie w nim to co podejrzewam chciałbyś aby sie znalazło.
Po takim wywołaniu 
```java
        for(int x = 0; x < 256; x++){
            slowo.add(x);
            slownik.addElement(slowo);
        }

w słowniku będziesz miał 256 wektorów liczb od 0 do 255 (a właściwie to w słowniku bedzie 256 referencji na jeden i ten sam wektor).

0

Dokładnie tak sie dzieje, jak piszesz jak wyświetlam wektor slownik to wyświetla się cała jakby tablica liczb z zakresu, jeśli mógłbyś podpowiedzieć jak to powinno być zrobione do porządku?

//edit

Udało się zrobić, wykorzystałem Mape

1 użytkowników online, w tym zalogowanych: 0, gości: 1