Utöka en klass med ytterligare en add-metod
Hej!
Fastnat lite med en uppgift och kommer inte vidare.
Detta är en klass som ska representera ett par olika personer. Här har jag två metoder, en som lägger till en person till samlingen, och en metod som filtrerar samlingen. Klassen "PersonCollection" vill jag nu utöka med ytterliggare en add-method, där metoden ska ta en Personcollection som parameter, och lägga till samtliga personer i samlingen. Dock ska den nya add-metoden inte lägga till dubletter, som den tidigare gör. Sedan ska metoden även returnera hur många personer som har lagts till. Hur går man tillväga? Tack på förhand!!!
public boolean matches(String s) { // I klassen Person
if (name.toLowerCase().contains(s.toLowerCase()))
return true;
else
return address.matches(s);
}
public boolean matches(String s) { // I klassen Address
for(String line: lines) {
if(line.toLowerCase().contains(s.toLowerCase()))
return true;
}
return false;
}
import java.util.ArrayList;
public class PersonCollection {
private ArrayList<Person> persons = new ArrayList<>();
public void add(Person p) {
persons.add(p);
}
public ArrayList<Person> filter(String... strings){
ArrayList<Person> matches = new ArrayList<>();
if(strings.length==0)
return matches;
for(Person p: persons) {
boolean matchesAll = true;
for(String s: strings) {
matchesAll = matchesAll && p.matches(s);
}
if(matchesAll) {
matches.add(p);
}
}
return matches;
}
}
Hur långt har du kommit?