Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

DOwnload the Driver ....... import java.util.ArrayList; import java.util.Arrays;

ID: 668062 • Letter: D

Question

DOwnload the Driver     .......

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Random;

public class ArrayListUtilsDriver {

private static int MAX_ARR_SIZE = 10000;

private static int MAX_STRING_LEN = 5;

private static boolean testRemoveDuplicates() {

Character[] arr = { 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a',

'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a' };

ArrayList<Character> testArray = new ArrayList<Character>(Arrays.asList(arr));

ArrayList<Character> result = ArrayListUtils.removeDuplicates(testArray);

if (result.size() != 1) {

return false;

}

arr[0] = 'b';

testArray = new ArrayList<Character>(Arrays.asList(arr));

result = ArrayListUtils.removeDuplicates(testArray);

if (result.size() != 2) {

return false;

}

arr[arr.length - 1] = 'b';

testArray = new ArrayList<Character>(Arrays.asList(arr));

result = ArrayListUtils.removeDuplicates(testArray);

if (result.size() != 2 || !result.get(0).equals('b') || !result.get(1).equals('a')) {

return false;

}

return randomizedRemoveDuplicates();

}

private static boolean randomizedRemoveDuplicates() {

ArrayList<Character> testList = new ArrayList<Character>();

Random rand = new Random();

for (int i = 0; i < MAX_ARR_SIZE; i++) {

testList.add((char) rand.nextInt(128));

}

ArrayList<Character> result = ArrayListUtils.removeDuplicates(testList);

for (int i = 0; i < result.size(); i ++) {

if (result.get(i) != testList.get(0)) {

return false;

}

ArrayList<Character> singleton = new ArrayList<Character>();

singleton.add(testList.get(0));

testList.removeAll(singleton);

}

return true;

}

private static boolean testGetCommonStrings() {

ArrayList<String> test1 = new ArrayList<String>();

ArrayList<String> test2 = new ArrayList<String>();

for (int i = 0; i < MAX_ARR_SIZE; i++) {

String rand1 = newRandString();

String rand2 = newRandString();

test1.add(rand1);

test2.add(rand2);

}

ArrayList<String> result = ArrayListUtils.getCommonStrings(test1, test2);

for (String elem : result) {

ArrayList<String> singleton = new ArrayList<String>();

singleton.add(elem);

test1.removeAll(singleton);

test2.removeAll(singleton);

}

result = ArrayListUtils.getCommonStrings(test1, test2);

if (result.size() > 0) {

return false;

}

for (String elem : test1) {

if (test2.contains(elem)) {

return false;

}

}

return true;

}

private static String newRandString() {

StringBuilder protoString = new StringBuilder();

Random rand = new Random();

for (int i = 0; i < MAX_STRING_LEN; i++) {

protoString.append(65 + rand.nextInt(26));

}

return protoString.toString();

}

/**

* Entry point.

*/

public static void main(String[] args) {

ArrayListUtils.wordRecall("LoremIpsum.txt");

System.out.println();

if (testRemoveDuplicates()) {

System.out.println("removeDuplicates Passed");

} else {

System.out.println("removeDuplicates Failed.");

}

System.out.println();

if (testGetCommonStrings()) {

System.out.println("getCommonStrings Passed");

} else {

System.out.println("getCommonStrings Failed.");

}

}

}DOwnload the Lorem IPSUM FILEEEEEEEEEEEEEEEEEEE

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam
viverra nec consectetur ante hendrerit. Donec et mollis dolor.
Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam
tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut
libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit
amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis
felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor
nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit
pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna
ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam
pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et
magnis dis parturient montes, nascetur ridiculus mus. In rutrum
accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in
est.


Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi
diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec
pretium volutpat, arcu ante placerat erat, non tristique elit urna et
turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et
orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam,
elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis
pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod
ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo
sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at
massa ipsum. Quisque bibendum purus convallis nulla ultrices
ultricies. Nullam aliquam, mi eu aliquam tincidunt, purus velit
laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat
elit. Nam sagittis nisi dui.

Specification

Create a class ArrayListUtils with the following (static) methods:

removeDuplicates Removes duplicates from an ArrayList of Characters. The remaining character from the duplicates is always the first occurrenceparams

data The ArrayList to remove duplicates from.

return An ArrayList with no duplicate entries remaining.

getCommonStrings Finds the strings common to both given ArrayLists. If both lists contain the same entry multiple times, the resulting list should contain the entry exactly once.params

list1 An ArrayList of Strings

list2 An ArrayList of Strings

return An ArrayList of Strings common to both list1 and list2

wordRecall Reads in lines from a text file, then asks the user for a line number and a word number. Then, does one of the following:

If the number/word choice is invalid, displays an appropriate error message

If the user enters 'quit', exits the loop (but not the program)

Otherwise, prints the word at the given position

param

fname The name of the file to read in.

Your class should not have a main method

Note

You are not allowed the use of any arrays, even if you do not directly create them. For example, the split method on strings returns an array, and therefore is not allowed.

Example Dialog:


Suspendisse lectus leo, consectetur in tempor sit amet, placerat quis
neque. Etiam luctus porttitor lorem, sed suscipit est rutrum non.
Curabitur lobortis nisl a enim congue semper. Aenean commodo ultrices
imperdiet. Vestibulum ut justo vel sapien venenatis tincidunt.
Phasellus eget dolor sit amet ipsum dapibus condimentum vitae quis
lectus. Aliquam ut massa in turpis dapibus convallis. Praesent elit
lacus, vestibulum at malesuada et, ornare et est. Ut augue nunc,
sodales ut euismod non, adipiscing vitae orci. Mauris ut placerat
justo. Mauris in ultricies enim. Quisque nec est eleifend nulla
ultrices egestas quis ut quam. Donec sollicitudin lectus a mauris
pulvinar id aliquam urna cursus. Cras quis ligula sem, vel elementum
mi. Phasellus non ullamcorper urna.


Class aptent taciti sociosqu ad litora torquent per conubia nostra,
per inceptos himenaeos. In euismod ultrices facilisis. Vestibulum
porta sapien adipiscing augue congue id pretium lectus molestie. Proin
quis dictum nisl. Morbi id quam sapien, sed vestibulum sem. Duis
elementum rutrum mauris sed convallis. Proin vestibulum magna mi.
Aenean tristique hendrerit magna, ac facilisis nulla hendrerit ut. Sed
non tortor sodales quam auctor elementum. Donec hendrerit nunc eget
elit pharetra pulvinar. Suspendisse id tempus tortor. Aenean luctus,
elit commodo laoreet commodo, justo nisi consequat massa, sed
vulputate quam urna quis eros. Donec vel.

Explanation / Answer

// Implementing ArrayListUtils


package ArrayListUtilsDriver;

import java.util.ArrayList;
import java.util.Scanner;


public class ArrayListUtils {
public static ArrayList removeDuplicates(ArrayList data)
{

//Removes duplicates from an ArrayList of Characters. The remaining character
//from the duplicates is always the first occurrenceparams
return data;
}

public static ArrayList getCommonStrings (ArrayList list1, ArrayList list2)
{
ArrayList common = null;
//Finds the strings common to both given ArrayLists. If both lists
//contain the same entry multiple times, the resulting list should contain
// the entry exactly once.params
return common;
}


public static wordRecall (String fname)
{

//wordRecall Reads in lines from a text file
String s="";
while(!s.equals("quit"))
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the word number and line number");
int wn=sc.nextInt();
int line=sc.nextInt();
String word=null;
// check the word in list and print it
System.out.println(word);
System.out.println("Do you want to continue?(type quit to quit");
s=sc.nextLine();
}
}
}