// Zorah Fung, CSE 143 // Examples of references import java.util.*; public class ReferenceFun { public static void main(String[] args) { listMystery(); studentMystery(); } public static void listMystery() { ArrayList list = new ArrayList(); ArrayList list2 = list; ArrayList list3 = new ArrayList(); System.out.println("list: " + list); System.out.println("list2: " + list2); System.out.println("list3: " + list3); System.out.println(); list.add(42); System.out.println("list.add(42);"); System.out.println("list: " + list); System.out.println("list2: " + list2); System.out.println("list3: " + list3); System.out.println(); list2.add(17); System.out.println("list2.add(17);"); System.out.println("list: " + list); System.out.println("list2: " + list2); System.out.println("list3: " + list3); System.out.println(); list3.add(6); System.out.println("list3.add(6);"); System.out.println("list: " + list); System.out.println("list2: " + list2); System.out.println("list3: " + list3); System.out.println(); ArrayList list4 = new ArrayList(); list4.add(88); list = list4; // Doesn't change list2! System.out.println("list4.add(88);"); System.out.println("list = list4;"); System.out.println("list: " + list); System.out.println("list2: " + list2); System.out.println("list3: " + list3); System.out.println("list4: " + list4); System.out.println(); } public static void studentMystery() { Student austin = new Student(); austin.name = "Austin"; austin.id = 1; austin.grades = new ArrayList(); austin.grades.add(2.5); austin.grades.add(2.5); austin.grades.add(2.5); // [4.0, 4.0, 4.0] Student bella = new Student(); bella.name = "Bella"; bella.id = 2; bella.grades = new ArrayList(); bella.grades.add(4.0); bella.grades.add(4.0); bella.grades.add(4.0); // [4.0, 4.0, 4.0] System.out.println("Austin's grades: " + austin.grades); System.out.println("Bella's grades: " + bella.grades); System.out.println(); austin.grades = bella.grades; setGrades(bella.grades, 0.0); System.out.println("Austin's grades: " + austin.grades); System.out.println("Bella's grades: " + bella.grades); System.out.println(); bella.grades = new ArrayList(); System.out.println("Austin's grades: " + austin.grades); System.out.println("Bella's grades: " + bella.grades); System.out.println(); } // Given an ArrayList of grades, sets each grade to the given grade public static void setGrades(ArrayList grades, double grade) { for (int i = 0; i < grades.size(); i++) { grades.set(i, grade); } } }