import java.util.*;

public class MemoryExamples {
	public static void main(String[] args){
		ArrayList<Integer> data = new ArrayList<Integer>();
		data.add(1);
		data.add(2);
		data.add(3);
		
		for(Integer i: data){
			System.out.println(i);
		}
	}
	
	public static void changeMe1(ArrayList<Integer> nums){
		nums = new ArrayList<Integer>();
		nums.add(4);
		nums.add(5);
		nums.add(6);
	}
	
	public static void changeMe2(ArrayList<Integer> nums){
		nums.add(4);
		nums.add(5);
		nums.add(6);
	}
	
	public static void whereDoesItGo(){
		ArrayList<String> temp = new ArrayList<String>();
		temp = new ArrayList<String>();
		
		// more code manipulating temp
	}
	
	public static void howDoesItKnow(){
		ArrayList<String> temp = new ArrayList<String>();
		ArrayList<String> temp2 = temp;
		temp = new ArrayList<String>();
	}
}
