Hur ser relalationen mellan Grupp och Person ut? Kan en Person vara med i flera Grupper? Kan en Grupp innehålla flera Personer? Det låter som ett många-till-många-förhållande, alltså att en Grupp kan innehålla flera Personer och en Person kan vara med i flera Grupper. Om så är fallet, och varje Person måste veta vilka Grupper han tillhör, skulle man kunna ha följande struktur:
class Person {
private List<Grupp> grupperSomPersonenÄrMedI;
...
}
class Grupp {
private List<Person> personerSomÄrMedIGruppen;
...
}
Är det istället så att en Person kan enbart vara med i en och endast en Grupp, men en Grupp kan innehålla flera Personer, skulle jag tänkta en extra gång. Ska Personen verkligen ha tillgång till gruppen? Jag hade helst designat det så att en Grupp innehåller en List<Person>, men en Person kan inte "gå bakåt" i hierarkin - alltså lagras inget Grupp-objekt i klassen Person.
Har man en starkt typad hierarki, med strikta regler, är det lättare att designa. Skriv med ord vad som förväntas av varje objekt, så ska du nog se att du hittar en lösning. :)
Personligen skulle jag aldrig lagra ett ID-nummer för att veta vilket objekt som det associeras med - jag skulle lagra objektet direkt. Java är ju (oftast) ett "pass-by-reference"-språk (det är diskuterat i mängder ;)).