Wenas.
Un arraylist podria ser la tabla. Luego prodrias crearte una especie de tabla hash que representaria cada uno de los registros. De ese modo podrias obtener el valor de los campos con algo del estilo tabla.getElement(nombre_campo)
Como bien has dicho harias un bucle que te recorreria las filas (las tablas) y obtendrias el valor del campo de turno. Despues para hacer el insert creas un preparedstatement para insertar cada campo en su lugar correspondiente del insert.
Y yata. Busca en el api de java.
www.java.sun.com
Es un ejercicio interesante, te propongo que trates de hacerlo y si encuentras problemas con algo en concreto, preguntalo. Pero no te limites a modificar codigo de otros. Asi no se aprende.
Saludos y bienvenido.