Arraylists:

public class ArrayandArrayList {
    public static void main(String[] args){
        String[] fishArr = new String[4];
        fishArr[0] = "trout";
        fishArr[2] = "salmon";
        fishArr[1] = "tuna";
        fishArr[1] = "bass"; //overriding index 1

        ArrayList<String> fishArrList = new ArrayList<>();
        fishArrList.add("salmon");
        fishArrList.add("trout");
        fishArrList.add(1, "tuna");
        fishArrList.set(1, "bass"); //overriding index 1
        //fish.ArrayList.remove(1); remove index 1, everything slides down
        String removedFish = fishArrList.remove(1); //setting the removed index equal to a new string; essentially storing the removed variable
        String aFish = fishArrList.get(0); //setting a String at index 0 equal to a variable

        for (int i = 0; i < fishArrList.size(); i++){
            System.out.println(fishArrList.get(i));
        }

        System.out.println(fishArrList);
    }
}

ArrayandArrayList.main(null)
salmon
trout
[salmon, trout]
public class ArrayandArrayList {
    public static void main(String[] args){
        ArrayList<Integer> myNumbers = new ArrayList<>();
        myNumbers.add(4);
        myNumbers.get(0);
    }
}

ArrayandArrayList.main(null)

Traversing an ArrayList:

  • Arrays in Java start at 0
  • .length will return the number of indexes in an array
  • traverse an array with a For Loop or a For-Each Loop
ArrayList<Integer> nums = new ArrayList<>(Arrays.asList(3, 1, 8));

for (int temp : nums) {
    System.out.print(temp);
}

for (int i = 0; i < nums.size(); i++){
    System.out.println(nums.get(i));
    nums.remove(i);
    i--;
}



System.out.println(nums);

3183
1
8
[]
public class ShoppingList {
    private ArrayList<String> items;

    public ShoppingList(ArrayList<String> newItemList) {
        items = newItemList;
    }

    public ArrayList<String> removeAnItem(String itemToRemove) {
        int count = 0;
        ArrayList<String> removedItems = new ArrayList<String>();
        for (int i = items.size() - 1; i >= 0; i--) {
            if (items.get(i).equals(itemToRemove)) {
                items.remove(i);
                removedItems.add(itemToRemove);
                count++;
            }
        }
        return removedItems;
    }

    public static void main(String[] args){
        ArrayList<String> newList = new ArrayList<>(Arrays.asList("Hello", "Hi"));
        ShoppingList list = new ShoppingList(newList);
        ArrayList<String> removed2Items = list.removeAnItem("Hello");
        System.out.println(removed2Items);

    }
}

ShoppingList.main(null)
[Hello]

Converting Array to Arraylist:

public class ArrayToArrayList {
    public static void main(String[] args){
        int[] Array = {3, 6, 1, 7, 3, 1};
        ArrayList<Integer> aNewList = new ArrayList<>();

        for (int temp : Array){
            aNewList.add(temp);
        }
        System.out.println(aNewList);
    }
}

ArrayToArrayList.main(null)

[3, 6, 1, 7, 3, 1]

image.png image-2.png

import java.util.ArrayList;
import java.util.Arrays;

public class Assignment {
    private String name;
    private String course;
    private int daysUntilDue;
    private String description;

    public Assignment(String name, String course, int daysUntilDue, String desc){
        this.name = name;
        this.course = course;
        this.daysUntilDue = daysUntilDue;
        description = desc;
    }

    public String getName(){
        return name;
    }

    public String getCourse(){
        return course;
    }

    public int getDaysUntilDue(){
        return daysUntilDue;
    }

    public String getDescription(){
        return description;
    }
}

public class Agenda {
    private ArrayList<Assignment> assignments;

    public Agenda(){
        assignments = new ArrayList<>();
    }

    public void addToAgenda(Assignment assignment){
        int currentDaysUntilDue = assignment.getDaysUntilDue();
        int indexToInsert = 0;
    
        // Find the correct index to insert the assignment based on daysUntilDue
        for (int i = 0; i < assignments.size(); i++){
            Assignment currentAssignment = assignments.get(i);
            if (currentDaysUntilDue < currentAssignment.getDaysUntilDue()){
                indexToInsert = i;
                break; // Found the correct index, exit the loop
            }
        }
    
        // Insert the assignment at the correct index
        assignments.add(indexToInsert, assignment);
    }
    

    public static void main(String[] args){
        Assignment newAssignment = new Assignment("SampleName1", "APCS", 6, "");

        Agenda newClass = new Agenda();
        newClass.addToAgenda(newAssignment);
    }
}

Agenda.main(null)