Boa tarde.
Estou fazendo um modelo para organizar entregas de jornais. Sendo assim tenho uma classe Rota:
public class Rota {
private String nome;
private Entregador entregador;
private ArrayList clientes = new ArrayList();
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Entregador getEntregador() {
return entregador;
}
public void setEntregador(Entregador entregador) {
this.entregador = entregador;
}
public ArrayList<Cliente> getClientes() {
return clientes;
}
public void setClientes(ArrayList<Cliente> clientes) {
this.clientes = clientes;
}
public void listarClientes(){
System.out.println("Clientes da rota: "+getClientes().toString());
}
}
Porém, ainda nesta classe (ou criando outra) preciso definir a Ordem de entrega. A ordem de entrega básica mente são os endereços dos clientes.
Há alguma maneira de, dentro desta classe, ou criando uma classe OrdemEntrega e a usando como atributo, importar o endereço de todos os clientes cadastrados na rota?
A classe Cliente já está completa com todos os endereços cadastrados.
Se clientes é uma classe e um atributo dentro de rota, então você não precisa criar outra classe, basta acessar o endereços dos clientes dentro do objeto rota.
Seria algo como rota.getClientes().get(i).getendereco();
Da pra usar um for e iterar cada cliente.
Boa noite Vinicius, obrigado pela resposta.
Foi exatamente o que eu fiz, porém, nesta ordem, ele me retorna os valores por ordem de inserção, pois ele vai percorrendo o array. Mas eu gostaria de organizar por proximidade, pois no endereço eu tenho as coordenadas geográficas.
Alguma dica de como posso fazer isso?
É um pouco complicado organizar por proximidade, porque quando vc começa a ordenar o ponto de referencia é a sua loja por exemplo, ai tem que verificar qual cliente mora mais perto, e para calcular o segundo cliente o ponto de referencia já não é mais a tua loja e sim a casa do primeiro cliente.
Resumindo não adianta você ordenar por distancia em relação ao ponto inicial, pois o ponto de referencia muda de forma iterativa.