Pages

Two Types of Lists

import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;

public class TwoTypesOfLists {
    private static <E> void characterize(List<E> list, String name)
    {
        System.out.print(name + ": ");
        System.out.println(list);
        System.out.print(name + " implements the List interface: ");
        System.out.println(list instanceof List);
        System.out.print(name + " is an ArrayList: ");
        System.out.println(list instanceof ArrayList);
        System.out.print(name + " is a LinkedList: ");
        System.out.println(list instanceof LinkedList);
        System.out.println();
    }
    public static void main(String args[]) {
        List<String> list1 = new ArrayList<String>();
        List<String> list2 = new LinkedList<String>();
        for (String arg : args) {
            list1.add(arg);
            list2.add(arg);
        }
        characterize(list1, "list1");
        characterize(list2, "list2");
        characterize(null, "null");
        System.out.print("list1 and list2 have the same values: ");
        System.out.println(list1.equals(list2));
        System.out.print("list1 and list2 are the same list: ");
        System.out.println(list1 == list2);
    }
}