import java.util.*;
//------------------------------------------------------------------------------
// What is stored in the collection? a copy or a reference?
//------------------------------------------------------------------------------

public class arrayList4 
{
    public static void main(String[] args) 
    {
        //Creating an ArrayList with Strings -----------------------------------

        List<String> names = new ArrayList<String>();       //notice you can use a List instead of ArrayList

        String name1 = "Sam";
        String name2 = "John";
        String name3 = "Bill";
        String name4 = "Steph";

        names.add(name1);
        names.add(name2);
        names.add(name3);
        names.add(name4);
        
        System.out.println("A String collection...");
        System.out.println(names);

        name1 += " Sultan";

        System.out.println("After the change:");
        System.out.println(names);
        System.out.println();


        //Creating an ArrayList with StringBuffers -----------------------------

        List<StringBuffer> Names = new ArrayList<StringBuffer>();

        StringBuffer Name1 = new StringBuffer("Sam");
        StringBuffer Name2 = new StringBuffer("John");
        StringBuffer Name3 = new StringBuffer("Bill");
        StringBuffer Name4 = new StringBuffer("Steph");

        Names.add(Name1);
        Names.add(Name2);
        Names.add(Name3);
        Names.add(Name4);
        
        System.out.println("A StringBuffer collection...");
        System.out.println(Names);

        Name1.append(" Sultan");

        System.out.println("After the change:");
        System.out.println(Names);
    }
}