Description Java you will create a backend class called SortableSet. A set, in computer science, is an unordered collection of unique objects. In our SortableSet, all of the objects in the set will also be immutable at the set level. This means that even if the data class used to create objects is not immutable, once they are in the set they are. We do this by making a deep copy of any objects being added to the set or returned from the set. The objects stored in the SortableSet must implement an interface called Sortable that provides a numeric sorting key and a deep copy method. SortableSet also takes advantage of two custom exception classes: DuplicateException and InvalidKeyException. Finally, the "sortable" part of SortableSet is implemented by a getSortedList method that makes a deep copy of every object in the set, saves them to an array, and then sorts them based on each object's sorting key. The sort algorithm used is a recursive radix sort modified to work with objects. Please see the attached image for details.

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
icon
Related questions
Question
Description Java you will create a backend class called SortableSet. A set, in computer science, is an unordered collection of unique objects. In our SortableSet, all of the objects in the set will also be immutable at the set level. This means that even if the data class used to create objects is not immutable, once they are in the set they are. We do this by making a deep copy of any objects being added to the set or returned from the set. The objects stored in the SortableSet must implement an interface called Sortable that provides a numeric sorting key and a deep copy method. SortableSet also takes advantage of two custom exception classes: DuplicateException and InvalidKeyException. Finally, the "sortable" part of SortableSet is implemented by a getSortedList method that makes a deep copy of every object in the set, saves them to an array, and then sorts them based on each object's sorting key. The sort algorithm used is a recursive radix sort modified to work with objects. Please see the attached image for details.
Details
The overall architecture of this lab is as shown here:
Sortable Set
- set: ArrayList<Sortable>
+ add(item: Sortable): void
+ delete(key: long): void
+ update(item: Sortable): void
+ get(key: long): Sortable
+ getKeys(): long[]
+ getSorted List(): Sortable[]
- sort(a: Sortable[]); void
- sort(a: Sortable[], digit: int, numDigits: int): void
- getMaxDigits(a: Sortable[]): int
sortByDigit(a: Sortable[], digit int): void
Sortable
<<interface>>
+ getSortKey(): long
+ getDeepCopy(): Sortable
Duplicate Exception
key: long
+ Duplicate Exception(message: String, key: long)
+ getKey(): long
InvalidKeyException
- key: long
+ InvalidKeyException(message: String, key: long)
+ getKey(): long
SomeConcreteClass
someldField: long
other fields required
+ full constructor
+ getters and setters
+ to String(): String
+ getSortKey(): long
+ getDeepCopy(): Sortable
java.lang. Exception
All classes must be named as shown in the above UML
diagram except the concrete class.
Transcribed Image Text:Details The overall architecture of this lab is as shown here: Sortable Set - set: ArrayList<Sortable> + add(item: Sortable): void + delete(key: long): void + update(item: Sortable): void + get(key: long): Sortable + getKeys(): long[] + getSorted List(): Sortable[] - sort(a: Sortable[]); void - sort(a: Sortable[], digit: int, numDigits: int): void - getMaxDigits(a: Sortable[]): int sortByDigit(a: Sortable[], digit int): void Sortable <<interface>> + getSortKey(): long + getDeepCopy(): Sortable Duplicate Exception key: long + Duplicate Exception(message: String, key: long) + getKey(): long InvalidKeyException - key: long + InvalidKeyException(message: String, key: long) + getKey(): long SomeConcreteClass someldField: long other fields required + full constructor + getters and setters + to String(): String + getSortKey(): long + getDeepCopy(): Sortable java.lang. Exception All classes must be named as shown in the above UML diagram except the concrete class.
Expert Solution
Step 1 Introduction

The SortableSet class which refers to the one it is a generic class in Java that implements the Set interface. It provides a mechanism to store a collection of unique objects, where the order of the elements is determined by the Comparator or Comparable interface that is passed to the constructor. It also provides methods to add, remove, and search for elements in the set, as well as for sorting the elements in the set.

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Class
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education