Como criar um arraylist de objetos dentro de um array de um objeto diferente?

eu tenho duas classes:

Dono
-nome
-telefone
-endereço
-email

  • ArrayList animais;

Animal
-nome
-idade
-sexo

a relaçao entre elas é de um Dono pode ter um ou muitos animais,e animais so pertencem a um dono especifico,

entao crie um arraylist de animais dentro da classe
dono,so que quando eu instancio varios objetos do dono
com a lista de animais de cada dono,
e exibido os donos com os animais todos duplicados e queria resolver isso

eu quero instanciar varios objetos do tipo dono com seus animais especificos e
nao sei como fazer isso
desde ja agradeço a ajuda

Posta como esta o seu código, mas basicamente você tem que criar uma instancia de cada dano, uma instancia de cada lista e uma instancia de cada animal

Classe De Dono

import java.util.ArrayList;

public class Dono {
private int codigoCliente;
private String nome;
private String endereco;
private String telefone;
private String cep;
private String email;
private ArrayList animais = new ArrayList();

public ArrayList<Animal> getAnimais() {
	return animais;
}
public void setAnimais(ArrayList<Animal> animais) {
	this.animais = animais;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getEndereco() {
	return endereco;
}
public void setEndereco(String endereco) {
	this.endereco = endereco;
}
public String getTelefone() {
	return telefone;
}
public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public String getCep() {
	return cep;
}
public void setCep(String cep) {
	this.cep = cep;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}
public int getCodigoCliente() {
	return codigoCliente;
}
public void setCodigoCliente(int codigoCliente) {
	this.codigoCliente = codigoCliente;
}



public Cliente(int codigoCliente, String nome, String endereco, String telefone, String cep, String email,
		ArrayList<Animal> animais) {
	super();
	this.codigoCliente = codigoCliente;
	this.nome = nome;
	this.endereco = endereco;
	this.telefone = telefone;
	this.cep = cep;
	this.email = email;
	this.animais = animais;
}




@Override
public String toString() {
	return "Cliente [codigoCliente=" + codigoCliente + ", nome=" + nome + ", endereco=" + endereco + ", telefone="
			+ telefone + ", cep=" + cep + ", email=" + email + ", animais=" + animais.toString() + "]";
}

}

Classe de Animal

import java.util.Arrays;

public class Animal
{
private String nomeAnimal;
private int idadeAnimal;
private String sexoAnimal;

public String getNomeAnimal() {
	return nomeAnimal;
}
public void setNomeAnimal(String nomeAnimal) {
	this.nomeAnimal = nomeAnimal;
}
public int getIdadeAnimal() {
	return idadeAnimal;
}
public void setIdadeAnimal(int idadeAnimal) {
	this.idadeAnimal = idadeAnimal;
}
public String getSexoAnimal() {
	return sexoAnimal;
}
public void setSexoAnimal(String sexoAnimal) {
	this.sexoAnimal = sexoAnimal;
}


public Animal(String nomeAnimal, int idadeAnimal, String sexoAnimal) {
	super();
	this.nomeAnimal = nomeAnimal;
	this.idadeAnimal = idadeAnimal;
	this.sexoAnimal = sexoAnimal;
}
@Override
public String toString() {
	return "Animal [nomeAnimal=" + nomeAnimal + ", idadeAnimal=" + idadeAnimal + ", sexoAnimal=" + sexoAnimal
			+ "]";
}

}

ClasseChamada

import java.util.ArrayList;
import java.util.Scanner;

public class SistemaConsultas {

public static void main(String[] args) {
	
	
	//variaveis
	int indice=0,indiceA=0;
	int opçao;
	Scanner input = new Scanner(System.in);
	int quantidadeAnimal=0;
	
	
	//Cliente
	int codigo;
	int codigo_Cliente;
	String nome;
	String endereço;
	String telefone;
	String cep;
	String email;
	
	//Animal
	String nomeAnimal;
	int idade;
	String sexoAnimal;

	Cliente[] clientes = new Cliente[2];
	ArrayList<Animal> animais= new ArrayList();
while(true) 
	{
		System.out.println("=============================================");
		System.out.println("1 - Cadastrar Cliente");
		System.out.println("2 - Cadastrar Animal");
		System.out.println("3 - Listar Clientes");
		System.out.println("4 - Listar Animais");
		System.out.println("5 - Realizar Tratamento");
		System.out.println("6 - Sair");
		System.out.println("Opçao: ");
		
		opçao = input.nextInt();
		
		switch(opçao) 
		{
			case 1:
			{
				System.out.println("Indice: "+indice);
				System.out.println("Codigo Cliente:");
				codigo_Cliente = input.nextInt();
				System.out.println("Nome:");
				nome = input.next();
				System.out.println("Telefone:");
				telefone = input.next();
				System.out.println("Email:");
				email = input.next();
				System.out.println("CEP:");
				cep = input.next();
				System.out.println("Endereço:");
				endereço = input.next();
				clientes[indice] = new Cliente(codigo_Cliente, nome, telefone, email, cep, endereço, animaisCliente);
				indice++;
				System.out.println("Indice: "+indice);
				break;
			}

Eu quero cadastrar o Dono do animal e cadastrar os animais desse dono especifico
para quando eu listar todos os donos o programa imprima
os donos com seus animais
tipo Dono
[codigoCliente=1
nome=Maria
endereço=rua Lopes
telefone=234545-45453
cep=6464-0000
email=maria@gmail.com
animais=
[
nome=Brutos,
idade=2
sexo=M
]

E como esta o código de cadastrar o animal?Se não estiver feito ainda, basicamente você terá que perguntar qual cliente é dono do cachorro que quer cadastrar, ai você busca esse cliente no vetor e então atribui o animal a ele.

Para fazer a busca do cliente, você pode iterar o seu vetor e checar se a posição atual é de um cliente que tenha o código x ou o nome y