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

Find the positions of all strings equal to a given string in an array list of st

ID: 3929805 • Letter: F

Question

Find the positions of all strings equal to a given string in an array list of strings. Adapt the algorithm from Section 7.7. Instead of stopping at the first match, collect all positions. Complete the following code.

Use the following file:

Tester.java

Complete the following file:

ArrayListUtil.java

import java.util.ArrayList;

public class ArrayListUtil
{
/**
Finds the positions of all strings equal to a given string
in an array list of strings.
@param words an array list of strings
@param searchedWord the word to search for
@return an array list of all matching positions
*/
public static ArrayList<...> findAll(. . . words, . . . searchedWord)
{
. . .
}
}

Explanation / Answer

ArrayListUtil.java

import java.util.ArrayList;
public class ArrayListUtil
{
/**
Finds the positions of all strings equal to a given string
in an array list of strings.
@param words an array list of strings
@param searchedWord the word to search for
@return an array list of all matching positions
*/
public static ArrayList<Integer> findAll(ArrayList<String> words, String searchedWord)
{
   ArrayList<Integer> list = new ArrayList<Integer>();
   for(int i=0; i< words.size();i++){
       if(words.get(i).equalsIgnoreCase(searchedWord)){
           list.add(i);
       }
   }
   return list;
}

}

Tester.java

import java.util.ArrayList;

public class Tester
{
public static void main(String[] args)
{
ArrayList<String> words = new ArrayList<String>();
words.add("how");
words.add("much");
words.add("wood");
words.add("would");
words.add("a");
words.add("wood");
words.add("chuck");
words.add("chuck");
words.add("if");
words.add("a");
words.add("wood");
words.add("chuck");
words.add("could");
words.add("chuck");
words.add("wood");
System.out.println(ArrayListUtil.findAll(words, "wood"));
System.out.println("Expected: [2, 5, 10, 14]");
System.out.println(ArrayListUtil.findAll(words, "a"));
System.out.println("Expected: [4, 9]");
System.out.println(ArrayListUtil.findAll(words, "the"));
System.out.println("Expected: []");
}
}

Output:

[2, 5, 10, 14]
Expected: [2, 5, 10, 14]
[4, 9]
Expected: [4, 9]
[]
Expected: []

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote