Chciałem utworzyć zbiór krawędzi grafu nieskierowanego. Uznałem, że wykorzystanie kolekcji set będzie wygodne, bo będę miał pewność, że krawędzie się nie powtarzają. Żeby graf był nieskierowany użyłem kolekcji set również do par wierzchołków. Mój kod wygląda w ten sposób:
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class ListaKrawedzi {
int iloscWier;
int iloscKraw;
int licznik;
Set<Set<Integer>> Lista=new HashSet<Set<Integer>>();
ListaKrawedzi(int enter, float wsp){
iloscWier=enter;
iloscKraw=(int)((iloscWier*iloscWier-iloscWier)/2*wsp);
licznik=0;
wypelnijListe();
}
void wypelnijListe(){
while(licznik<iloscKraw){
Set<Integer> krawedz=new HashSet<Integer>();
Random r = new Random();
int pierwsza=r.nextInt(iloscWier);
int druga=r.nextInt(iloscWier);
while(pierwsza==druga){
druga=r.nextInt(iloscWier);
}
if (! ListaKrawedzi.add(krawedz)){
licznik++;
}
}
}
}
Przy próbie dodania Setu krawedz do Setu ListaKrawedzi pojawia się błąd braku metody add(Set<Integer>). Jak rozwiązać ten problem?