Duvida no JOptionPane e criação de objeto

Bom dia, to com um problema…
tenho duas classes Funcionario e Equipamento (ambos tem um atributo codigo)e uma outra classe
que tem dois ArrayList um para armazenar cada classe.

Trabalhando com o JOptionPane tem como eu exibir todos os objetos armazenados no arraylist?

e além disto dar opcao ao usuario para digitar qual Funcionario ou Equipamento adicionar, digitando o
codigo? e quando digitar tem como pegar esse codigo, descobrir qual é o objeto referente ao codigo
digitado e retornar esse objeto?

Ex:

public class Funcionario(){
private int codigo;

public class Banco(){
private ArrayList func = new ArrayList;

public class Visual(){

int opcao = Integer.parseInt(JOptionPane…("Funcionario: " + func.toString );
for (Funcionario f : func){
if(opcao == f.getcodigo()){
Funcionario funcionario = f;
}

Poderia ser algo assim? to precisando de ajuda urgente!!!
tem como criar um metodo que pegue essa opcao, varra a ArrayList e se encontrar um
objeto que tenha o mesmo codigo retorne esse?

Para tal tipo de coisa, crie uma classe derivada de JDialog

Não queira fazer tudo em um JOptionPane, que deve ser restrito a pequenas entradas de dados (uma linha de texto, ou no máximo um combo box).

mas to usando o JoptionPane apenas para receber a opcao, preciso ligar essa opcao a um objeto
que estaja no ArrayList. como fazer isto?

o JDialog nao tenho conhecimento, como funciona?

pf alguem sabe alguma saída???