Lista de lista

Bom dia .
Alguém tem um exemplo de como fazer uma lista List da seguinte forma. o lista de listas , ou um Map , se bem que Map te uma chava pra cada valor e eu preciso de quatro chaves.
Soa Paulo
Santos
Campinas
etc,

Rio de janeiro
Niteroi
Santa Cruz,
etc,

Bahia
Salvador
Porto seguro
etc.

No caso, o Map é o mais indicado.

Map<String, List<String>> mapa = new HashMap<String, List<String>>();
List<String> listaSp = new ArrayList<String>();
listaSp.add("Santos");
listaSp.add("São Paulo");
listaSp.add("Campinas");
mapa.put("São Paulo", listaSp);

E o mesmo pros demais estados.
Manja?

List<List<String>> lista = new LinkedList<List<String>>();Isso?

O exemplo de drsmachado acho que é o adequado,vou criar assim depois que eu criar todos os estados e suas capitais dar um put em tudo para o map , esse map tem que ser uma list
ai tenho que converter o map para um tipo list , o meu lista tem um tipo generico mais ou menos assim List<bean> lista, aqui tem que entrar meu map.
Eu consigo fazer isso ?

Você quer converter as listas para um mapa para depois converter para uma … lista?

Sim, eu tenho um metodo que recebe uma List , mais esta lista tem que esta ordenada por estados e respectivas cidades

Ah sim, entendi. E essa lista não é de Strings, certo? é de algum tipo de objeto? Se for, você pode postar ele aqui ?

Esse é o objeto

public class Composer {

public String estado,capital;

public Composer(String estado, String capital) {
	super();
	this.estado= estado;
	this.capital= capital;
}

posso mandar o mentodo que tenta carregar esta informação

E onde está a cidade desse objeto?

e por favor poste código entre as tags code.

Ok postarei , cada cidade vem de um ArrayList
Quer que eu post o metodo que tem os arraylist com as cidades ?

Não, só quero a cidade, porque acho que pode ter uma solução muito mais simples pro seu problema. Ex:[code]public class Cidade{

private Estado estado;

//getters e setters

}[/code]Se for uma estrutura mais ou menos assim, você pode ordenar a lista diretamente, fazendo com que Cidade implemente Comparable

E como seria ?

Mais uma duvida e se eu fizer assim.
lista1
lista2
lista3

e depois fizer
[code

lista.addAll( lista1);
lista.addAll( lista2);
lista.addAll( lista3);

]
tem como saber na lista onde cada uma começa e termina

vamos supor que você queira ordenar por estado primeiro, e se o estado for o mesmo, aí ordena pela cidade, em ordem alfabética talvez.

Aí fica algo assim.public int compareTo(Cidade other){ if(estado.compareTo(other.estado) == 0){ return nome.compareTo(other.nome); } return estado.compareTo(other.estado); }

Resolvido carreguei uma list com as lista que preciso ai retiro as lista de dentro da lista pelo indice.

Galera obrigado pela atenção e ajuda consegui fazer o que eu queria , montei uma list com listas e pelo indice retiro as lista que preciso de dentro da lista.

[ code
ArrayList<ArrayList><Composer>> listaPrincipal = new ArrayList<ArrayList><Composer>>();
listaPrincipal.add(hoje);
listaPrincipal.add(amanha);
listaPrincipal.add(ontem);
listaPrincipal.add(nota);

pra retirar fiz
listaPrinciapl.get(index);
]