Please use java. In this assignment, you will implement a class calledCustomIntegerArrayList. This class represents a fancy ArrayList that stores integers and supports additional operations not included in Java's built-in ArrayList methods. For example, the CustomIntegerArrayList class has a “splice” method which removes a specified number of elements from the CustomIntegerArrayList, starting at a given index. For a CustomIntegerArrayList that includes: 1, 2, 3, 4, and 5, calling splice(1, 2) will remove 2 items starting at index 1. This will remove 2 and 3 (the 2nd and 3rd items). The Cu stomIntegerArrayList class has 2 different (overloaded) constructors. (Remember, an overloaded constructor is a constructor that has the same name, but a different number, type, or sequence of parameters, as another constructor in the class.) Having 2 different constructors means you can create an instance of the CustomIntegerArrayList class in 2 different ways, depending on which constructor you call. Both constructors have been implemented for you. (See below) Internally, the CustomIntegerArrayList class uses a private ArrayList variable named “arr” to store its integer elements. The “CustomIntegerArrayList()” constructor initializes the ArrayList variable “arr” as an empty ArrayList and the “CustomIntegerArrayList(ArrayList arr)” constructor initializes the ArrayList variable “arr” with the elements in the given ArrayList. (Again, see below) /** * Fancy ArrayList that stores integers and supports additional operations not included in Java's built-in ArrayList methods. */ public class CustomIntegerArrayList { // instance variables /** * Internal ArrayList of elements. */ private ArrayList arr; // constructors /** * Creates a new empty CustomIntegerArrayList. */ public CustomIntegerArrayList() { this.arr = new ArrayList(); } /** * Creates a new CustomIntegerArrayList with the elements in the given ArrayList. * @param arr with elements for the CustomIntegerArrayList */ public CustomIntegerArrayList(ArrayList arr) { this.arr = new ArrayList(arr); } There are 8 (mostly overloaded) methods that need to be implemented in the CustomIntegerArrayList c lass. (Again, an overloaded method is a method that has the same name, but a different number, type, or sequence of parameters, as another method in the same class.) ● getArrayList() - Returns the elements. ● get(int index) - Returns the element at the specified index from the elements. ● add(int element) - Appends the given element to the end of the elements. ● add(int index, int element) - Inserts the given element at the specified index. ● remove(int index) - Removes the element at the specified index. ● remove(int num, int element) - Removes the specified number of the given element from all elements. ● splice(int index, int num) - Removes the specified number of elements from all elements, starting at the given index. ● splice(int index, int num, int[] otherArray) - Removes the specified number of elements from all elements, starting at the given index, and inserts new elements in the given array at the given index. Each method has been defined for you, but without the code. See the javadoc for each method for instructions on what the method is supposed to do and how to write the code. It should be clear enough. In some cases, we have provided hints and example method calls to help you get started. For example, we have defined a “remove” method for you (see below) which removes a specified number of a given element from the CustomIntegerArrayList. Read the javadoc, which explains what the method is supposed to do. Then write your code where it says “// TODO” to implement the method. You’ll do this for each method in the program. /** * Removes the specified number (num) of the given element from the internal Array List of elemnts. * If num lst1 = new ArrayList(); lst1.add(0, 2); lst1.add(0, 3); lst1.add(0, 4); lst1.remove(0); lst1.remove(1); assertEquals(arr1.get(0), lst1.get(0));}
arr)" constructor initializes the ArrayList variable "arr" with the elements in the given ArrayList. (Again, see below) /** Fancy ArrayList that stores integers and supports additional operations not included in Java's built-in ArrayList methods. A Penn Engineering ONLINE LEARNING Introduction to Java & Object Oriented Programming public class CustomIntegerArrayList { // instance variables * Internal ArrayList of elements. */ private ArrayList
arr; // constructors /** * Creates a new empty CustomIntegerArraylist. */ public CustomIntegerArrayList () { this.arr - new ArraylList (): * Creates a new CustomIntegerArrayList with the elements in the given ArrayList. * @param arr with elements for the CustomIntegerArrayList public CustomIntegerArrayList (ArrayList arr) { this.arr - new ArrayList (arr); There are 8 (mostly overloaded) methods that need to be implemented in the CustomintegerArrayList class. (Again, an overloaded method is a method that has the same name, but a different number, type, or sequence of parameters, as another method in the same class.) • getArrayList() - Returns the elements. • getlint index) - Returns the element at the specified index from the elements. • addſint element) - Appends the given element to the end of the elements. • add(int index, int element) - Inserts the given element at the specified index. • remove(int index) - Removes the element at the specified index. remove(int num, int element) - Removes the specified number of the given element from all elements. • splice(int index, int num) - Removes the specified number of elements from all elements, starting at the given index. splice(int index, int num, int] otherArray) - Removes the specified number of elements from all elements, starting at the given index, and inserts new elements in the given array at the given index. Penn Engineering NE LEARMNG "/>
Extracted text: The Assignment In this assignment, you will implement a class called CustomintegerArrayList. This class represents a fancy ArrayList that stores integers and supports additional operations not included in Java's built-in ArrayList methods. For example, the CustomintegerArrayList class has a "splice" method which removes a specified number of elements from the CustomintegerArrayList, starting at a given index. For a CustomintegerArrayList that includes: 1, 2, 3, 4, and 5, calling splice(1, 2) will remove 2 items starting at index 1. This will remove 2 and 3 (the 2nd and 3rd items). The CustomintegerArrayList class has 2 different (overloaded) constructors. (Remember, an overloaded constructor is a constructor that has the same name, but a different number, type. or sequence of parameters, as another constructor in the class.) Having 2 different constructors means you can create an instance of the CustomintegerArrayList class in 2 different ways, depending on which constructor you call. Both constructors have been implemented for you. (See below) Internally, the CustomintegerArrayList class uses a private ArrayList variable named "arr" to store its integer elements. The "CustomlntegerArrayList()" constructor initializes the ArrayList variable "arr" as an empty ArrayList and the "CustomintegerArrayList(ArrayList arr)" constructor initializes the ArrayList variable "arr" with the elements in the given ArrayList. (Again, see below) /** Fancy ArrayList that stores integers and supports additional operations not included in Java's built-in ArrayList methods. A Penn Engineering ONLINE LEARNING Introduction to Java & Object Oriented Programming public class CustomIntegerArrayList { // instance variables * Internal ArrayList of elements. */ private ArrayList arr; // constructors /** * Creates a new empty CustomIntegerArraylist. */ public CustomIntegerArrayList () { this.arr - new ArraylList (): * Creates a new CustomIntegerArrayList with the elements in the given ArrayList. * @param arr with elements for the CustomIntegerArrayList public CustomIntegerArrayList (ArrayList arr) { this.arr - new ArrayList (arr); There are 8 (mostly overloaded) methods that need to be implemented in the CustomintegerArrayList class. (Again, an overloaded method is a method that has the same name, but a different number, type, or sequence of parameters, as another method in the same class.) • getArrayList() - Returns the elements. • getlint index) - Returns the element at the specified index from the elements. • addſint element) - Appends the given element to the end of the elements. • add(int index, int element) - Inserts the given element at the specified index. • remove(int index) - Removes the element at the specified index. remove(int num, int element) - Removes the specified number of the given element from all elements. • splice(int index, int num) - Removes the specified number of elements from all elements, starting at the given index. splice(int index, int num, int] otherArray) - Removes the specified number of elements from all elements, starting at the given index, and inserts new elements in the given array at the given index. Penn Engineering NE LEARMNG
Extracted text: • getArrayList() - Returns the elements. get(int index) - Returns the element at the specified index from the elements. • add(int element) - Appends the given element to the end of the elements. add(int index, int element) - Inserts the given element at the specified index. • remove(int index) - Removes the element at the specified index. remove(int num, int element) - Removes the specified number of the given element from all elements. • splice(int index, int num) - Removes the specified number of elements from all elements, starting at the given index. • splice(int index, int num, int[] otherArray) - Removes the specified number of elements from all elements, starting at the given index, and inserts new elements in the given array at the given index. Penn (Engineering ONLINE LEARNING Introduction to Java & Object Oriented Programming Each method has been defined for you, but without the code. See the javadoc for each method for instructions on what the method is supposed to do and how to write the code. It should be clear enough. In some cases, we have provided hints and example method calls to help you get started. For example, we have defined a "remove" method for you (see below) which removes a specified number of a given element from the CustomlntegerArrayList. Read the javadoc, which explains what the method is supposed to do. Then write your code where it says “// TODO" to implement the method. You'll do this for each method in the program. /** Removes the specified number (num) of the given element from the internal ArrayList of elements. * If num <= 0, don't remove anything. * if num is too large, remove all instances of the given element from the internal arraylist of elements. * @param num number of instances of element to remove * @param element to remove */ public void remove (int num, int element) { // todo implement method 0,="" don't="" remove="" anything.="" *="" if="" num="" is="" too="" large,="" remove="" all="" instances="" of="" the="" given="" element="" from="" the="" internal="" arraylist="" of="" elements.="" *="" @param="" num="" number="" of="" instances="" of="" element="" to="" remove="" *="" @param="" element="" to="" remove="" */="" public="" void="" remove="" (int="" num,="" int="" element)="" {="" todo="" implement="">= 0, don't remove anything. * if num is too large, remove all instances of the given element from the internal arraylist of elements. * @param num number of instances of element to remove * @param element to remove */ public void remove (int num, int element) { // todo implement method>