Question: In this week's lab, you write methods to operate on a list of words and practice using the ArrayList class in the Java Collection Framework.

In this week's lab, you write methods to operate on a list of words and practice using the ArrayList class in the Java Collection Framework. The JUnit test class needs the data file words.txt that contains about 235,000 words of English sorted in ascending dictionary order, so download this file (DropBox link) and copy it into your Lab 9 project folder. Write the following methods in the class WordProblems. From this wordlist file, the JUnit test class will use only the proper words made of only the lowercase characters a to z.

The JUnit test class will output a message "Read 210687 words from words.txt." at initialization so that you know that the wordlist has been successfully read in. https://www.dropbox.com/s/jvi46psiaw41lcm/words.txt?dl=0 Your methods should not modify their parameter arraylist words in any way. Also, the JUnit tester requires that every method must return the words that it finds in the same alphabetical order that they occur in the parameter list words.

Q1: Write the method ArrayList findMatchingWords(ArrayList words, String pattern) that creates and returns a new ArrayList that contains all words in words that match the given pattern so that the found word and the pattern are the same length and contain the same characters in the same positions. The pattern can also contain question mark characters as wildcard characters that match any letter that does not occur anywhere in the pattern, in spirit of the game of Hangman. For example, the words "bridge" and "drudge" would match the pattern "?r??ge", but the words "dredge" and "grunge" would not.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!