Mantener valore de un ArrayList despues de mandar su contenido a un metodo

Buenas tardes, días o noches a todos los del foro.

tengo un problema resulta que tengo un  
que se llena dinámicamente dependiendo de los movimientos a realizar.. hasta todo bien

ahora con esos datos necesito hacer otras operaciones
asi que la mando a otro metodo o funcion

 

hay alguna manera que no se pidan los datos del ArrayList original bueno lo que pasa es que para salir momentáneamente del problema
hice varias copias del array original

espero que me echen la mano a lo mejor lo he declarado mal

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de adrianaaae

No es que se vacie

Bueno entendiendo un poco tu problema dices que cada vez que apretas el boton hacer tu proceso pero cuando vuelves a apretar tu boton el array se vacia???
Si es así es por que esta dentro del evento del boton; es decir que cada vez que das click al boton se declara de nuevo tu array y obviamente es vacio al declararlo.
Para que mantenga los valores tiene que estar declarado de manera Global así no pieden su contenido.

Imagen de pechsclk

declarado de manera Global

no es que primero ejecute una y luego otra vez el botón,

es dentro del cuerpo del botón están esas dos métodos
pero el primer ArrayList lo recibe desde el exterior, proviene de una ventana anterior
 

Cuando llamas a

Cuando llamas a iterator.remove() estás quitando elementos de la colección de donde lo obtuviste.

Supongo que esta línea no existe en tú código:
 

Por que si es así, en realidad tu lista siempre esta vacía, pero ok, suponiendo que no existe, entonces al llamar:

 

Estás eliminando los datos de la lista. Para que no removerlos quita el i.remove();

Tu código tiene otros problemas, número uno, no compila ( supongo que lo escribiste de nuevo en el post por ejemplo dice   )
Si es así intenta hacer un programa chiquito donde puedas reproducir el problema y pon ese, por ejemplo algo como:

 

Así es probable que tu mismo des con la respuesta y si no, alguien que no tiene ( ni quiere tener ) todo tu código puede entender qué está pasando.

Otra cosa, en java se utiliza camelCase para los nombres, ( clases empiezan con mayúsculas, métodos y variables con minúsculas ) en vez de   Quizá tu lo encuentres más legible, pero es una convención que se utiliza en todo el lenguaje y es mejor seguirla.

Extra, utiliza
  en vez de
 

para que le programes a la interfaz

datos, estructurado e historiales

 

Sólo por curiosidad, ¿cuál es la diferencia entre  ,   e  ?

Por cierto, puedes obtener una vista de sólo lectura de tu lista de la siguiente manera:

 

Cualquier modificación sobre esta lista (p.ej.:  ), arrojará  .

~~~

Imagen de pechsclk

Por cierto, puedes obtener

bueno aquí esta esta el dato real

bueno aqui esta el daato real, ya sabes trabajo bajo rmi

EMO-2015-1532 CAFETERA DE PERCOLA CTS-93 LG CT-2863W NEGRO
EMO-2015-1534 CAJA DE DINERO CT-29488 DINAMO CT-2948 BLANCO

yo realizo el movimiento de activos y los preparo para poder realizar el movimiento pero al hacer el movimiento no guardo todos esos datos si no los ids
y este movimiento lo registro en una tabla de historiales pero este dato el
realidad lo obtengo son los numero de registro de los emos, y de estos datos
1393
1395
estos datos son los almacenados en el primer arraylist tipo llamaremos dat_mov
 

 

 Una solución rápida sería

 

Una solución rápida sería cambiar esta línea:

 

por:

 

Sin embargo, esta solución no es la mejor. El código necesita ser refactorizado, tal como Oscar ya lo sugirió.

~~~

Imagen de ezamudio

Listas mutables

Este es un error muy común al usar colecciones mutables. ArrayList es una lista mutable; si el dueño de la lista quiere pasarla a otros objetos pero que no se la modifiquen, hay dos opciones: Pasar a los demás una copia inmutable (con  ) o bien, crear una nueva lista con los mismos elementos, para que si la modifican, no se afecte la lista original.

La primera opción es mucho más eficiente. Pero si otro objeto recibe una lista y debe modificarla, debe crear una copia local y esa es la que debe modificar.

Imagen de pechsclk

la primera opcion es más eficiente

Como lo copio de la lista Inmutable del ArrayList a la
Collections.immutableList(lista)

termine poniendo de esta forma como dijo JPaul anque no es lo correcto
 
esto lo hice para nomas salir del paso por el momento
de antenano gracias por sus comentarios