Revise the method selectionSort within the class ArraySorter, as shown in Listing 7.10 of Chapter 7, so that it sorts the strings in an instance of the class ArrayList<String> into lexicographic order instead of sorting the integers in an array into ascending order. For words, lexicographic order reduces to alphabetic order if all the words are in either lowercase or uppercase letters. You can compare two strings to see which is lexicographically first by using the String method compareTo, as described in Figure 2.5 of Chapter 2.
Want to see the full answer?
Check out a sample textbook solutionChapter 12 Solutions
Java Format: Unbound (saleable)
Additional Engineering Textbook Solutions
C Programming Language
Starting Out with Java: From Control Structures through Objects (6th Edition)
Starting Out With Visual Basic (7th Edition)
Differential Equations: Computing and Modeling (5th Edition), Edwards, Penney & Calvis
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
- public class PokerAnalysis implements PokerAnalyzer { privateList<Card>cards; privateint[]rankCounts; privateint[]suitCounts; /** * The constructor has been partially implemented for you. cards is the * ArrayList where you'll be adding all the cards you're given. In addition, * there are two arrays. You don't necessarily need to use them, but using them * will be extremely helpful. * * The rankCounts array is of the same length as the number of Ranks. At * position i of the array, keep a count of the number of cards whose * rank.ordinal() equals i. Repeat the same with Suits for suitCounts. For * example, if your Cards are (Clubs 4, Clubs 10, Spades 2), your suitCounts * array would be {2, 0, 0, 1}. * * @param cards * the list of cards to be added */ publicPokerAnalysis(List<Card>cards){ this.cards=newArrayList<Card>(); this.rankCounts=newint[Rank.values().length]; this.suitCounts=newint[Suit.values().length];…arrow_forwardComplete the Course class by implementing the printRoster() method, which outputs a list of all students enrolled in a course and also the total number of students in the course. Given classes: Class Course represents a course, which contains an ArrayList of Student objects as a course roster. (Type your code in here) Class Student represents a classroom student, which has three fields: first name, last name, and GPA. (Hint: toString() returns a String representation of the Student object.) Ex: If the following students and their GPA values are added to a course: Henry Cabot with 3.5 GPABrenda Stern with 2.0 GPAJane Flynn with 3.9 GPALynda Robison with 3.2 GPA then the program output is: Henry Cabot (GPA: 3.5) Brenda Stern (GPA: 2.0) Jane Flynn (GPA: 3.9) Lynda Robison (GPA: 3.2) Students: 4 course.java import java.util.ArrayList; // Class representing a studentpublic class Course { private ArrayList<Student> roster; // Collection of Student objects public Course() {…arrow_forwardWrite a Java method that takes two 2 dimensional int arrays (a and b) anda 2 dimensional boolean array (c) where all three arrays have the samesize. Your method should return an array (result) such that, if a particular element in c is true, then the corresponding (same indexed) elementin result must be the multiplication of the the corresponding elements ofa and b. If the element in c is false, then the the corresponding elementin result must be the negative of multiplication of the the correspondingelement in a and b.arrow_forward
- Write a java while loop that loops through an array of type int with a size of 6, and adds up every other element in the array and prints the sum.arrow_forwardImplement unique method that takes an ArrayList as input and returns an ArrayList withexactly a single occurrence of each element from the input list. For example, if the input listcontains 5, 6, 7, 6, 3, 5, 5, 4 then the output list should have 5, 6, 7, 3, 4.Note: (1) You may assume that the ArrayList has a specific type of elements in it. In the class, we assumedit to have String type values. (2) You may only work with ArrayList(s).arrow_forwardUsing Java - write a new class called Rack, to store an ArrayList of Tiles, to sort them using the Selection Sort algorithm, and finish the program. Code: class Main { publicstaticvoid main(String[] args) { Rack craigTiles = new Rack(); craigTiles.addTile(new Tile('H', 4)); craigTiles.addTile(new Tile('E', 1)); craigTiles.addTile(new Tile('L', 1)); craigTiles.addTile(new Tile('L', 1)); craigTiles.addTile(new Tile('O', 1)); craigTiles.addTile(new Tile('Z', 10)); craigTiles.addTile(new Tile('Y', 4)); craigTiles.sortHighToLow(); System.out.println("Craig's rack of tiles, in order from most valuable to least:"); System.out.println(craigTiles); Rack bettoTiles = new Rack(); bettoTiles.addTile(new Tile('E', 1)); bettoTiles.addTile(new Tile('A', 1)); bettoTiles.addTile(new Tile('S', 1)); bettoTiles.addTile(new Tile('D', 2)); bettoTiles.addTile(new Tile('W', 4)); bettoTiles.addTile(new Tile('T', 1)); bettoTiles.addTile(new Tile('N', 1)); bettoTiles.sortHighToLow();…arrow_forward
- Provide a different implementation of ChoiceQuestion. Instead of storing the choices in an array list, the addChoice method should add the choice to the question text. For this purpose, an addLine method has been added to the Question class. /** A question with multiple choices.*/public class ChoiceQuestion extends Question{ // Add any needed instance variables, but don't store the choices // The choices should be added to the text of the superclass /* code goes here */ /** Constructs a choice question with a given text and no choices. @param questionText the text of this question */ public ChoiceQuestion(String questionText) { /code goes here */ } /** Adds an answer choice to this question. @param choice the choice to add @param correct true if this is the correct choice, false otherwise */ public void addChoice(String choice, boolean correct) { /* code goes here */ } }arrow_forwardWrite a method called changeQueue to be considered inside the ArrayQueue class and has one parameter item of type E. Your method will change the queue in such a way that if the the first element of the queue and the last element of the queue are equal, the first and last elements in the queue will be replaced with item, otherwise, do not do any change. Similarly, the same process is done for the second element in the queue and the element before the last in the queue and so on. Assume you have a non-empty queue with even number of elements. You are not allowed to call any method from the the ArrayQueue class. Do not use iterators. Method head: public void changeQueue(E item) Example1: Before run: front rear “this” queue: 10 29 2 2 5 10 Item1: 100 After run: front rear “this” queue: 100 29 100 100 5 100arrow_forwardWrite a Program in Java programming: Support you have an ArrayList containing random integers. These integers can be any number, and each integer can appear more than once. For example, [2, 19, 21, 19, 21, 1, 3, 3, 6, 21, .....] Your job is to write a method called findEvenFrequentNumbers(ArrayList<Integer> list) that returns an ArrayList which has all the numbers appears in even frequency and in increasing order. e.g. list = [2, 19, 21, 19, 21, 1, 3, 3, 6, 21], should return [3, 19] list = [3, 3, 3, 1, 2, 2, 2, 2, 2], should return [] list = [1, 1, 1, 1, 1], should return [1] Note that you need to provide a class with the main function and also the imports.arrow_forward
- Write a Java method that will take in a generic ArrayList with Doubles (reference type). Have the method take each Double and convert it to an Integer and store it into another generic ArrayList that holds Integers. When done, return the new Integer ArrayList.arrow_forwardSupport you have an ArrayList containing random integers. These integers can be any number, and each integer can appear more than once. For example, [2, 19, 21, 19, 21, 1, 3, 3, 6, 21, .....] Your job is to write a method called findEvenFrequentNumbers(ArrayList<Integer> list) that returns an ArrayList which has all the numbers appears in even frequency and in increasing order. e.g. list = [2, 19, 21, 19, 21, 1, 3, 3, 6, 21], should return [3, 19] list = [3, 3, 3, 1, 2, 2, 2, 2, 2], should return [] list = [1, 1, 1, 1, 1], should return [1] Note that you need to provide a class with the main function and also the imports.arrow_forwardMake a method with prototype: public static int SumOfEvenNumbers(int[] _arrayOfIntegerNumber, int size) and return count of all even numbers of an array passed to it.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education