Data structure & Algrothium java program Create the three following classes: 1. class containing two strings attributes first name and last name. 2. class containing the name object and an ArrayList of string to store the list gifts. This class would extend the attached NicePersonInterface.java 3. class containing one ArrayList of Names to store the naughty names. Another ArrayList of NicePerson to store the nice names and gifts. Add atleast 4 names in each list and display all information.
Data structure & Algrothium java program Create the three following classes: 1. class containing two strings attributes first name and last name. 2. class containing the name object and an ArrayList of string to store the list gifts. This class would extend the attached NicePersonInterface.java 3. class containing one ArrayList of Names to store the naughty names. Another ArrayList of NicePerson to store the nice names and gifts. Add atleast 4 names in each list and display all information.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Data structure & Algrothium java program
Create the three following classes:
1. class containing two strings attributes first name and last name.
2. class containing the name object and an ArrayList of string to store the list gifts. This class would extend the attached NicePersonInterface.java
3. class containing one ArrayList of Names to store the naughty names. Another ArrayList of NicePerson to store the nice names and gifts. Add atleast 4 names in each list and display all information.

Transcribed Image Text:```java
import java.util.List;
import java.util.ArrayList;
/**
This interface describes the operations of a person on the nice list.
@author Frank M. Carrano
@author Timothy M. Henry
@version 5.0
*/
public interface NicePersonInterface {
// We want the constructor to set the person's name,
// but we do not want the client to be able to change it.
// So we are omitting a method setName.
/** Gets the name of this person.
@return The name of a person on the nice list. */
public Name getName();
/** Adds a gift to this person's gift list.
@param aPresent A string that describes the gift.
@return True if the gift was added, or false if not. */
public boolean addGift(String aGift);
/** Removes a gift from this person's gift list.
@param aGift A string that describes the gift.
@return True if the gift was removed, or false if not. */
public boolean removeGift(String aGift);
/** Sets this person's gift list.
@param aGift A string that describes the gift. */
public void setGifts(ArrayList<String> gifts);
/** Gets this person's gift list.
@return This person's gift list. */
public ArrayList<String> getGifts();
} // end NicePersonInterface
```
### Explanation
This Java interface is designed to manage operations related to a "nice list" for individuals. Here's a breakdown of its components:
- **Author and Version Information**: The code includes author credits to Frank M. Carrano and Timothy M. Henry and specifies the version as 5.0.
- **Interface Purpose**: It details the functionalities available for a person on the "nice list". The interface includes methods for managing a person's gifts and name.
- **Methods**:
- `getName()`: Retrieves the name of the person.
- `addGift(String aGift)`: Adds a gift to the person's gift list and returns true if successful.
- `removeGift(String aGift)`: Removes a specified gift from the list and returns true if successful.
- `setGifts(ArrayList<String> gifts)`: Sets the person's entire gift list.
- `getGifts()`: Returns the person's list of gifts.
This interface restricts clients from directly changing a person's name, ensuring encapsulation and data integrity.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education