Felix Grund
Instructor @ UBC
List<Instructor> instructors = new ArrayList<>();
instructors.add(new Instructor("Felix"));
Instructor instructor = new Instructor("Felix");
instructors.contains(instructor);
public class RecipeBook {
private String name;
private Map<String, List<String>> recipes;
public RecipeBook(String name){
this.name = name;
this.recipes = new HashMap<>();
}
// REQUIRES: recipeName is not already in recipes
// MODIFIES: this
// EFFECTS: adds recipeName to recipes, and assigns an empty list of ingredients
public void addNewRecipe(String recipeName){
List<String> ingredients = new ArrayList<>();
//BLANK 1
}
// REQUIRES: recipeName is in recipes
// MODIFIES: this
// EFFECTS: adds ingredient to recipeName's list of ingredients
public void addToRecipe(String recipeName, String ingredient){
List<String> ingredients = recipes.get(recipeName);
//BLANK 2
}
public void printRecipes(){
System.out.println(this.recipes);
}
}
@Override
public boolean equals(Object o) {
boolean equal = false;
if (o instanceof Instructor) {
Instructor that = (Instructor) o;
equal = this.name.equals(that.name);
}
return equal;
}
we can write a similar implementation using the instanceof operator
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Instructor that = (Instructor) o;
return Objects.equals(name, that.name);
}
auto-generated equals
@Override
public boolean equals(Object o) {
boolean equal = false;
if (o instanceof Instructor) {
Instructor that = (Instructor) o;
equal = this.name.equals(that.name);
}
return equal;
}
instanceof: Checks whether the object on the left is the same type or a subtype of the object on the right
By Felix Grund