Please use Java to write a method only as described. You do not need a complete program or class.

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
100%

Please use Java to write a method only as described. You do not need a complete program or class.

**Task Title: Rarest Value Finder**

**Language/Type:** Java TreeMap Collections  
**Related Links:** [TreeMap](https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html) | [String](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)

---

**Objective:**

Write a method named `rarest` that accepts a `TreeMap` from strings to strings as a parameter. The method should return the value that occurs least frequently in the map. If there is a tie, return the value that comes earlier in alphabetical order. If the map is empty, the method should throw an `IllegalArgumentException`.

**Example:**

Suppose a variable called `map` contains the following elements:

```java
{"Alyssa":"Harding", "Char":"Smith", "Dan":"Smith", "Jeff":"Jones", "Kasey":"Jones", 
 "Kim":"Smith", "Morgan":"Jones", "Ryan":"Smith", "Stef":"Harding"}
```

Calling `rarest(map)` would return `"Harding"` because that value occurs 2 times, fewer than any other.

**Note:** The method examines the values in the map, not the keys.

---

**Constraints:**

- You may create one additional data structure (stack, queue, set, map, etc.) as auxiliary storage. You can use as many simple variables as necessary.
- Do not modify the contents of the map passed to your method.
- Ensure your method signature prevents modification from any caller.
- Your solution should have a time complexity of no worse than O(N log N), where N is the number of pairs in the map.
Transcribed Image Text:**Task Title: Rarest Value Finder** **Language/Type:** Java TreeMap Collections **Related Links:** [TreeMap](https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html) | [String](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html) --- **Objective:** Write a method named `rarest` that accepts a `TreeMap` from strings to strings as a parameter. The method should return the value that occurs least frequently in the map. If there is a tie, return the value that comes earlier in alphabetical order. If the map is empty, the method should throw an `IllegalArgumentException`. **Example:** Suppose a variable called `map` contains the following elements: ```java {"Alyssa":"Harding", "Char":"Smith", "Dan":"Smith", "Jeff":"Jones", "Kasey":"Jones", "Kim":"Smith", "Morgan":"Jones", "Ryan":"Smith", "Stef":"Harding"} ``` Calling `rarest(map)` would return `"Harding"` because that value occurs 2 times, fewer than any other. **Note:** The method examines the values in the map, not the keys. --- **Constraints:** - You may create one additional data structure (stack, queue, set, map, etc.) as auxiliary storage. You can use as many simple variables as necessary. - Do not modify the contents of the map passed to your method. - Ensure your method signature prevents modification from any caller. - Your solution should have a time complexity of no worse than O(N log N), where N is the number of pairs in the map.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Function Calling
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
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