estructura de datos

Hola a todos.
Necestio ayuda con un tema uqe la verdad no tengo ni ola menor idea de que se trata tengo conocimiento nulo de como se realiza ya que soy nuevo en esto y me gustaria aprender de ello, en pocas palabras es lo siguiente:

import java.util.*;

class EjemploArray{

public static void main(String[] args){
// Se declara una variable lista del tipo ArrayList
// que contendrá cadenas(nombres)
ArrayList lista = new ArrayList();
// Añadir elementos a la lista con el método add()
lista.add("Pepe");
lista.add("Carlitos");
// Agrega el nombre de Arturito en la ubicación 1
lista.add(1, "Arturito");
// Para saber el tamaño del ArrayList después de haber agregado los datos se usa
// el método size()
System.out.println("TAMAÑO DEL ARRAYLIST");
System.out.println(lista.size());
// Acceder a los elementos del ArrayList con el método get()
System.out.println("El primer elemento es:");
System.out.println(lista.get(0));
System.out.println("El tercer elemento es:");
System.out.println(lista.get(2));
// Muestra todos los elementos de la lista
System.out.println("Contenido del ArrayList:"+ lista);
}
}

Les agradeceria su ayuda infinitamente, ya que como comente no tengo ni la menor idea de como llevarlo acabo en netbeans, de antemano un saludo a todos y espero me puedan ayudar o me expliquen un poco de como hacerle, gracias.