13.14 LAB: Library book sorting   Two sorted lists have been created, one implemented using a linked list (LinkedListLibrary linkedListLibrary) and the other implemented using the built-in ArrayList class (ArrayListLibrary arrayListLibrary). Each list contains 100 books (title, ISBN number, author), sorted in ascending order by ISBN number. Complete main() by inserting a new book into each list using the respective LinkedListLibrary and ArrayListLibrary insertSorted() methods and outputting the number of operations the computer must perform to insert the new book. Each insertSorted() returns the number of operations the computer performs. Ex: If the input is: The Catcher in the Rye 9787543321724 J.D. Salinger the output is: Number of linked list operations: 1 Number of ArrayList operations: 1 Which list do you think will require the most operations? Why? -------------------------------------------------------------------------------------------------------------------------------- import java.util.Scanner; import java.io.FileInputStream; import java.io.IOException; public class Library {        public static void fillLibraries(LinkedListLibrary linkedListLibrary, ArrayListLibrary arrayListLibrary) throws IOException {       FileInputStream fileByteStream = null; // File input stream       Scanner inFS = null;                   // Scanner object       int linkedListOperations = 0;       int arrayListOperations = 0;              BookNode currNode;       Book tempBook;              String bookTitle;       String bookAuthor;       long bookISBN;              // Try to open file       fileByteStream = new FileInputStream("Books.txt");       inFS = new Scanner(fileByteStream);       while (inFS.hasNextLine()) {          bookTitle = inFS.nextLine();          bookISBN = inFS.nextLong();          inFS.nextLine();          bookAuthor = inFS.nextLine();                    // Insert into linked list          currNode = new BookNode(bookTitle, bookAuthor, bookISBN);          linkedListOperations = linkedListLibrary.insertSorted(currNode, linkedListOperations);          linkedListLibrary.lastNode = currNode;                    // Insert into ArrayList          tempBook = new Book(bookTitle, bookAuthor, bookISBN);          arrayListOperations = arrayListLibrary.insertSorted(tempBook, arrayListOperations);       }              fileByteStream.close(); // close() may throw IOException if fails    }            public static void main (String[] args) throws IOException {       Scanner scnr = new Scanner(System.in);       int linkedListOperations = 0;       int arrayListOperations = 0;              // Create libraries       LinkedListLibrary linkedListLibrary = new LinkedListLibrary();       ArrayListLibrary arrayListLibrary = new ArrayListLibrary();              // Fill libraries with 100 books       fillLibraries(linkedListLibrary, arrayListLibrary);              // Create new book to insert into libraries       BookNode currNode;       Book tempBook;              String bookTitle;       String bookAuthor;       long bookISBN;              bookTitle = scnr.nextLine();       bookISBN = scnr.nextLong();       scnr.nextLine();       bookAuthor = scnr.nextLine();               // Insert into linked list       currNode = new BookNode(bookTitle, bookAuthor, bookISBN);       // TODO: Call LL_Library's insertSorted() method to insert currNode and return       //       the number of operations performed              linkedListLibrary.lastNode = currNode;              // Insert into ArrayList       tempBook = new Book(bookTitle, bookAuthor, bookISBN);       // TODO: Call AL_Library's insertSorted() method to insert tempBook and return       //       the number of operations performed              // TODO: Print number of operations for linked list              // TODO: Print number of operations for ArrayList           } }

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

13.14 LAB: Library book sorting

 

Two sorted lists have been created, one implemented using a linked list (LinkedListLibrary linkedListLibrary) and the other implemented using the built-in ArrayList class (ArrayListLibrary arrayListLibrary). Each list contains 100 books (title, ISBN number, author), sorted in ascending order by ISBN number.

Complete main() by inserting a new book into each list using the respective LinkedListLibrary and ArrayListLibrary insertSorted() methods and outputting the number of operations the computer must perform to insert the new book. Each insertSorted() returns the number of operations the computer performs.

Ex: If the input is:

The Catcher in the Rye 9787543321724 J.D. Salinger

the output is:

Number of linked list operations: 1 Number of ArrayList operations: 1

Which list do you think will require the most operations? Why?

--------------------------------------------------------------------------------------------------------------------------------

import java.util.Scanner;
import java.io.FileInputStream;
import java.io.IOException;

public class Library {
   
   public static void fillLibraries(LinkedListLibrary linkedListLibrary, ArrayListLibrary arrayListLibrary) throws IOException {
      FileInputStream fileByteStream = null; // File input stream
      Scanner inFS = null;                   // Scanner object
      int linkedListOperations = 0;
      int arrayListOperations = 0;
      
      BookNode currNode;
      Book tempBook;
      
      String bookTitle;
      String bookAuthor;
      long bookISBN;
      
      // Try to open file
      fileByteStream = new FileInputStream("Books.txt");
      inFS = new Scanner(fileByteStream);

      while (inFS.hasNextLine()) {
         bookTitle = inFS.nextLine();
         bookISBN = inFS.nextLong();
         inFS.nextLine();
         bookAuthor = inFS.nextLine();
         
         // Insert into linked list
         currNode = new BookNode(bookTitle, bookAuthor, bookISBN);
         linkedListOperations = linkedListLibrary.insertSorted(currNode, linkedListOperations);
         linkedListLibrary.lastNode = currNode;
         
         // Insert into ArrayList
         tempBook = new Book(bookTitle, bookAuthor, bookISBN);
         arrayListOperations = arrayListLibrary.insertSorted(tempBook, arrayListOperations);
      }
      
      fileByteStream.close(); // close() may throw IOException if fails
   }
       
   public static void main (String[] args) throws IOException {
      Scanner scnr = new Scanner(System.in);
      int linkedListOperations = 0;
      int arrayListOperations = 0;
      
      // Create libraries
      LinkedListLibrary linkedListLibrary = new LinkedListLibrary();
      ArrayListLibrary arrayListLibrary = new ArrayListLibrary();
      
      // Fill libraries with 100 books
      fillLibraries(linkedListLibrary, arrayListLibrary);
      
      // Create new book to insert into libraries
      BookNode currNode;
      Book tempBook;
      
      String bookTitle;
      String bookAuthor;
      long bookISBN;
      
      bookTitle = scnr.nextLine();
      bookISBN = scnr.nextLong();
      scnr.nextLine();
      bookAuthor = scnr.nextLine();
       
      // Insert into linked list
      currNode = new BookNode(bookTitle, bookAuthor, bookISBN);
      // TODO: Call LL_Library's insertSorted() method to insert currNode and return
      //       the number of operations performed
      
      linkedListLibrary.lastNode = currNode;
      
      // Insert into ArrayList
      tempBook = new Book(bookTitle, bookAuthor, bookISBN);
      // TODO: Call AL_Library's insertSorted() method to insert tempBook and return
      //       the number of operations performed
      
      // TODO: Print number of operations for linked list
      
      // TODO: Print number of operations for ArrayList
      
   }
}

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
Array
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