NicholasAdamou icon

Removing an Element from an Array

NicholasAdamou | PRO | 09/01/19 03:17:48 PM UTC | 0 ⭐ | 291 👁️ | Never ⏰ | []
Java |

2.67 KB

|

None

|

0 👍

/

0 👎

/**
* Program designed to showcase how to search then remove an element from a generic array of objects in Java.
* Assume 'Student' is defined.
* @author Nick Adamou
* @date 9/1/2019
*/
 
public class Main {
    // Function to obtain a specific student's position in an array of students
    public static int search(Student[] students, String firstName, String lastName) {
        // Loop over every student in the array of students.
        for (int i = 0; i < students.length; i++) {
            // Get the current student at this position in the array.
            Student student = students[i];
            
            // Check if student is null
            if (student == null) {
                // If student is null, then continue.
                conttinue;
            }
 
            // Check if this student is the one we are looking for.
            if (student.getFirstName().equalsIgnoreCase(firstName) &&
                student.getlastName().equalsIgnoreCase(lastName)) {
                // If it is the student we are looking for, return it's position in the array.
                return i;
            }
        }
        
        // If the student could not be found, return -1.
        return -1;
    }
    
    // Function used to remove a student from an array of students.
    public static Student removeStudent(Student[] students, firstName, lastName) {
        // Indicate to the user that we are removing a student.
        System.out.printf("Removing student (%s, %s)", firstName, lastName);
 
        // Search for the student in the array and get its position in the array.
        int index = search(students, firstName, lastName);
        
        // Store a blank version of the targetted student
        Student student = new Student()
        
        // Check if the student was found.
        if (index != -1) {
            // Indicate that the student was found.
            System.out.printf("FOUND Student (%s, %s) @ students[%d]", firstName, lastName, index);
 
            // Store the student we want to remove in 'student'.
            student = students[index]
 
            // If the student was found, start looping over the array of students starting at
            // that students position.
            for (int i = index; i < students.length; i++) {
                // Shift each student's position by 1.
                students[i] = students[i + 1];
            }
 
            // Decrease the index by 1. (Assume 'index' is defined by your class).
            this.index--;
 
            // Display the resulting array of students.
            for (int i = 0; i < students.length; i++) {
                // Store the student at this index.
                Student student = students[i];
 
                // Only display non-null students.
                if (student != null) {
                    System.out.println(students[i]);
                }
            }
        } else {
            // Indicate that the student was not found.
            System.out.printf("COULD NOT FIND Student (%s, %s)", firstName, lastName);
        }
        
        // Return the resulting array of students.
        return student;
    }
}

Comments