Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
3rd Edition
ISBN: 9780134038179
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 18, Problem 6PC
Program Plan Intro
Generic class
Program plan:
- Import the required package.
- Create the class “MyList” with a type parameter “T” that accepts any type that implements “Comparable” interface.
- Create “ArrayList” as a field of class “MyList” with type parameter “T”.
- Define the constructor.
- Define the public method “add()” to accept the parameter of type “T”,
- Store the value in “ArrayList” using the reference variable “list”.
- Define the method “largest()”,
- Call the method “get()” to store the initial value of “ArrayList” in the variable “val”.
- Iterate the elements of “ArrayList” using “for” loop.
- Use standard method “compareTo()” for standard comparison to find largest value..
- Return the largest value using the keyword “return”.
- Define the method “smallest()”,
- Call the method “get()” to store the initial value of “ArrayList” in the variable “val”.
- Iterate using “for” loop to find the smallest value in the “ArrayList”.
- Use standard method “compareTo()” for standard comparison to find smallest value.
- Return the smallest value using the keyword “return”.
- Create the class “Main”,
- Define the method “main()”,
- Create the object of a class “MyList” as a type of “Integer”.
- Call the “add()” method using the object of type “Integer” to fill the values in the “ArrayList” of “Integer”.
- Call the method “largest()” to print the largest value of Integer “ArrayList”.
- Call the method “smallest()” to print the smallest value of Integer “ArrayList”.
- Define the method “main()”,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Excercise:
Listed next is the skeleton for a class named City. Each city has a name and temperature:
public class City {
private String cityName;
private int temperature;
}
Flesh out the class with appropriate accessors, constructors, and mutators. Next, modify the class so that it implements the Comparable interface. The order between instances of the City class depends on the temperature. Test your class by creating an array of sample cities and sort them in an ascending order using Arrays.sort
Notes:
The language used for this question is Java. So far, this is the City class after fleshing it out:
public class City implements Comparable<City> {private String cityName;private double temperature;
public City() {}
public City(String cityName, double temperature) {this.cityName = cityName;this.temperature = temperature;}
public String getCityName() {return cityName;}
public double getTemperature() {return temperature;}
public void setName(String cityName)…
1. Write a generic method named array_prod() that takes an array of a generic type are returns the product of the values in the elements in the array. Make sure that the generic type extends the Number class. The Number class is defined in the java.lang package.
2. Complete the main() method to find the products of the elements in the provided arrays. Print the results in the main method using 3 decimals.
C#
(Generic Method IsEqualTo) Write a simple generic version of method IsEqualTo that compares its two arguments with the Equals method, and returns true if they’re equal and false otherwise. Use this generic method in a program that calls IsEqualTo with a variety of simple types, such as object or int. What result do you get when you attempt to run this program?
Chapter 18 Solutions
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Ch. 18.1 - Prob. 18.1CPCh. 18.1 - When ArrayList is used as a non-generic class, why...Ch. 18.1 - Suppose we use the following statement to...Ch. 18.1 - Assume we have used the statement shown in...Ch. 18.2 - Prob. 18.5CPCh. 18.2 - Prob. 18.6CPCh. 18.2 - Prob. 18.7CPCh. 18.2 - Prob. 18.8CPCh. 18.3 - Prob. 18.9CPCh. 18.3 - Prob. 18.10CP
Ch. 18.3 - Prob. 18.11CPCh. 18.3 - Prob. 18.12CPCh. 18.3 - Prob. 18.13CPCh. 18.3 - Prob. 18.14CPCh. 18.4 - Prob. 18.15CPCh. 18.5 - Prob. 18.16CPCh. 18.5 - Prob. 18.17CPCh. 18.6 - Prob. 18.18CPCh. 18.6 - Prob. 18.19CPCh. 18.6 - Prob. 18.20CPCh. 18.8 - Prob. 18.21CPCh. 18.8 - Prob. 18.22CPCh. 18.9 - Prob. 18.23CPCh. 18.9 - During the process of erasure, when the compiler...Ch. 18.9 - Prob. 18.25CPCh. 18 - Prob. 1MCCh. 18 - Prob. 2MCCh. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Prob. 7MCCh. 18 - Prob. 8MCCh. 18 - Prob. 9MCCh. 18 - The process used by the Java compiler to remove...Ch. 18 - True or False: It is better to discover an error...Ch. 18 - Prob. 12TFCh. 18 - True or False: Type parameters must be single...Ch. 18 - Prob. 14TFCh. 18 - Prob. 15TFCh. 18 - True or False: You cannot create an array of...Ch. 18 - Prob. 17TFCh. 18 - Prob. 18TFCh. 18 - Prob. 1FTECh. 18 - Assume the following is a method header in a...Ch. 18 - public class MyClassT { public static void...Ch. 18 - public class PointT extends Number super Integer {...Ch. 18 - Assume there is a class named Customer. Write a...Ch. 18 - Assume names references an object of the...Ch. 18 - Prob. 3AWCh. 18 - Prob. 4AWCh. 18 - Prob. 5AWCh. 18 - Prob. 6AWCh. 18 - Prob. 7AWCh. 18 - Prob. 1SACh. 18 - Look at the following method header: public T...Ch. 18 - Prob. 3SACh. 18 - Do generic types exist at the bytecode level?Ch. 18 - Prob. 5SACh. 18 - When the compiler encounters a class, interface,...Ch. 18 - Prob. 1PCCh. 18 - Prob. 2PCCh. 18 - Prob. 3PCCh. 18 - Prob. 4PCCh. 18 - Prob. 5PCCh. 18 - Prob. 6PCCh. 18 - Prob. 7PC
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.Similar questions
- Create a Vector2D class with properties x and y and a proper constructor method. Plus, minus and multiplication with a scalar operators should be overloaded. Create a Body class with properties of pos, vel, mass and constructor(float Mass, Vector2D Pos, Vector2D Vel), addForce(Vector2D F) and Move(float dt) methods. Your program should create an array or collection of Bodies, at each time step (dt), calculate forces that bodies exert each other and apply accordingly. Finally, in a 2D space, bodies should move freely based on their properties and applied forces. You can use option buttons or another element to represent bodies and move them inside the form.arrow_forwardProcedure: Develop an extension of structure.Vector, called MyVector, that includes a new method, sort. Here are some steps toward implementing this new class: 1. Create a new class, MyVector, which is declared to be an extension of the structure.Vector class. You should write a default constructor for this class that simply calls super();. This will force the structure.Vector constructor to be called. This, in turn, will initialize the protected fields of the Vector class. 2. Construct a new Vector method called sort. It should have the following declaration: public void sort(Comparator c) // pre: c is a valid comparator // post: sorts this vector in order determined by c This method uses a Comparator type object to actually perform a sort of the values in MyVector. You may use any sort that you like. 3. Write an application that reads in a data file with several fields, and, dependingarrow_forwardCreate a SameItem Interface: The SameItem interface will be a generic interface.SameItem will have a single method: isSameAs(T) that returns a booleanarrow_forward
- Data Structure & Algorithum java program Do the following: 1) Add a constructor to the class "LList" that creates a list from a given array of objects.2) Add a method "addAll" to the "LList" class that adds an array of items to the end of the list. The header of the method is as follows, where "T" is the generic type of the objects in the list. 3) Write a Test/Driver program that thoroughly tests all the methods in the class "LList".arrow_forward(Polynomial Class) Develop class Polynomial. The internal representation of a Polynomialis an array of terms. Each term contains a coefficient and an exponent, e.g., the term2x4has the coefficient 2 and the exponent 4. Develop a complete class containing proper constructorand destructor functions as well as set and get functions. The class should also provide the followingoverloaded operator capabilities:a) Overload the addition operator (+) to add two Polynomials.b) Overload the subtraction operator (-) to subtract two Polynomials.c) Overload the assignment operator to assign one Polynomial to another.d) Overload the multiplication operator (*) to multiply two Polynomials.e) Overload the addition assignment operator (+=), subtraction assignment operator (-=),and multiplication assignment operator (*=).arrow_forwardURGENtt!! You are asked to write a java class named "Kume". The UML class diagram of the Kume class is as follows. 3 The elements in the set are kept in an ArrayList. The constructor of the class takes an array of int and adds the elements of this array to the ArrayList named al. The add() method adds an integer it takes as a parameter to the get element. The delete() method deletes an Integer object that it takes as a parameter from the get element, returns true if it can be deleted, otherwise false. The print() function prints the elements of the set to the console. The compareTo() method is inherited from the Object class and is suppressed, and compares the get element of the Set object, which it takes as a parameter, with the retrieve element of the current set object in terms of content (the order of the elements is not important). It returns 1 if both sets contain the same elements, 0 otherwise. Below is a test code that creates two objects from the Kume class and performs…arrow_forward
- Assume that a typical Reference Class called Student is accessible by the following method called linearSearch. Notice that the code for linearSearch is not complete. Assume further that the Student class has an attribute called lastName and that the class has a getter mehod called getLastName() . Which statements may be used to complete the definition of the linearSearch method so that the method uses the linear search algorithm and that the method returns true if there is a student in an array of Student with a lastName that matches the searchKey. a. studs[index].getLastName().equals(searchKey)b. studs[index].getLastName().compareTo(searchKey) == 0c. studs[index].getLastName().equalsIgnoreCase(searchKey)d. studs[index].getLastName().compareToIgnoreCase(searchKey) == 0e. Not givenarrow_forwardCONSTRUCTOR// IntSet()// Pre: (none)// Post: The invoking IntSet is initialized to an empty// IntSet (i.e., one containing no relevant elements).// CONSTANT MEMBER FUNCTIONS (ACCESSORS)// int size() const// Pre: (none)// Post: Number of elements in the invoking IntSet is returned.// bool isEmpty() const// Pre: (none)// Post: True is returned if the invoking IntSet has no relevant// relevant elements, otherwise false is returned.// bool contains(int anInt) const// Pre: (none)// Post: true is returned if the invoking IntSet has anInt as an// element, otherwise false is returned.// bool isSubsetOf(const IntSet& otherIntSet) const// Pre: (none)// Post: True is returned if all elements of the invoking IntSet// are also elements of otherIntSet, otherwise false is// returned.// By definition, true is returned if the invoking IntSet// is empty (i.e., an empty IntSet…arrow_forwardTRUE OR FALSE A method that uses a generic class parameter can be static or dynamic.arrow_forward
- Pointer and classImplement a class called Team as specified:data members:name - the name of the Team (defined as a dynamic variable)members - a dynamic array of stringsize - number of members in the team.functions:Course(): default constructor set name to “TBD”, and size to 0, members toempty listCourse(string): one argument constructor set name, and size to 0, members toempty listaccessor - an accessor for the name and size variablemutator - an mutator for the name variableUse following main() to test your class.int main() {Team a,b("Mets");cout<<a.getName()<<endl; // print TBDa.setName("Yankee");cout<<a.getName()<<endl; // print Yankeecout<<b.getName()<<endl; // print Metscout<<a.getSize()<<endl; // print 0return 0;}arrow_forwardc# programMake a class called Employees, with attributes Name, Gender, Experience, Salary and ID.Make a delegate called EligiblePromo. This delegate takes an employees object as a parameter and returns a boolean value indication whether or not the employee should be promoted.Make a PromoteEmployee() method that takes an arraylist of Employees and delegate of type EligiblePromo as parametersNB: PromoteEmployee() methos loops through each Employees object and passes it to the delegate(25)arrow_forwardConsider the following class hierarchy: class Animal { ... } class Mammal extends Animal { ... } class Cat extends Mammal { ... } Write a generic method printArray that takes an array of any type and prints each element of the array. If the element is an instance of Animal or its subclass, the method should call the toString method of the object to print its details. Otherwise, the method should simply print the element. Your method should have the following signature: public static <T> void printArray(T[] array)arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning