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

Write a method called interleave that accepts two ArrayLists of integers a1 and

ID: 3825134 • Letter: W

Question

Write a method called interleave that accepts two ArrayLists of integers a1 and a2 as parameters and inserts the elements of a2 into al a1 alternating indexes. If the lists are of unequal length, the remaining elements of the longer list are left at the end of a1. For example, a1 stores [10, 20, 30] and a2 stores [4, 5, 6, 7, 8] the call of interleave (a1, a2); should change a1 to store [10, 4, 20, 5, 30, 6, 7, 8]. If a1 had stored [10, 20, 30, 40, 50] and a2 had stored [6, 7, 8], the call of interleave (a1, a2) would change a1 to store [10, 6, 20, 7, 30, 8, 40, 50].

Explanation / Answer

Interleave.java

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public class Interleave {
public static void main(final String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(10); numbers.add(20); numbers.add(30);

ArrayList<Integer> numbers2 = new ArrayList<Integer>();
numbers2.add(4); numbers2.add(5); numbers2.add(6); numbers2.add(7);
numbers2.add(8);

System.out.println("list1: " + numbers);
System.out.println("list2: " + numbers2);
interleave(numbers, numbers2);

System.out.println(" Combined: " + numbers);
  
ArrayList<Integer> numbers1 = new ArrayList<Integer>();
numbers1.add(10); numbers1.add(20); numbers1.add(30);numbers1.add(40);numbers1.add(50);

ArrayList<Integer> numbers21 = new ArrayList<Integer>();
numbers21.add(6); numbers21.add(7);
numbers21.add(8);
  
System.out.println("list1: " + numbers1);
System.out.println("list2: " + numbers21);
interleave(numbers1, numbers21);

System.out.println(" Combined: " + numbers1);
}

public static void interleave(
final List<Integer> list1,
final List<Integer> list2
)
{
int size1 = list1.size();
int i;
for(i = 0; i < size1; i++)
{
if (i < list2.size())
{
list1.add(2*i+1, list2.get(i));
}
}
  
for(; i < list2.size(); i++)
{
list1.add(list2.get(i));
}

}
}

Sample run

list1: [10, 20, 30]
list2: [4, 5, 6, 7, 8]

Combined: [10, 4, 20, 5, 30, 6, 7, 8]
list1: [10, 20, 30, 40, 50]
list2: [6, 7, 8]

Combined: [10, 6, 20, 7, 30, 8, 40, 50]

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