Non ho verificato, ma credo proprio che arrayList implementi l'interfaccia serializable. Allora basta una write sul socket:

codice:
socketOutStream.writeObject( myArrayList );
Per poi leggerlo dall'altro lato

codice:
myArrayList = (ArrayList)socketInStream.readObject();
E poi, speriamo funzioni