Documente Academic
Documente Profesional
Documente Cultură
Assine 0800 703 3000 SAC Bate-papo E-mail Notícias Esporte Entretenimento Mulher Shopping BUSCAR
Olá,
Mo5ka
Posts:21 Estou fazendo um jogo do tipo "warcraft"/"age of empires" e tenho que gerenciar a posição das
unidades(objeto Unidade) nas cordenadas X e Y.
Pensei em usar um ArrayList bidimensional, onde as cordenadas seriam os indices, mas eu não sei como
fazer isso, alguem poderia me mostrar como iniciar, ler e regravar um array assim?
staroski Obrigado.
Posts:3763
Assim como um array bi-dimensional nada mais é do que um array de arrays, uma lista bidimensional
pode ser representada por uma lista de listas:
_________________
Ricardo Artur Staroski, OCP-JP
Blumenau - SC
Conheça minhas APIs e respectiva documentação
http://www.devmedia.com.br/trabalhando-com-arrays-em-java/25530
staroski
Posts:3763 _________________
Site: http://www.varallos.com.br
http://javafree.uol.com.br/topic-891492-Como-fazer-ArrayList-bidimensional.html 1/4
23/7/2014 Como fazer ArrayList bidimensional? - Javafree: O fórum de Java que mais cresce
Grupo Java Brazuka: http://www.facebook.com/groups/421210044593467/
FanPage: http://www.facebook.com/varallosweb
Space Devmedia: http://www.devmedia.com.br/ThiagoVaralloPalmeira
Twitter: http://twitter.com/varallos1
Youtube: http://www.youtube.com/user/varallos1
Varallo´s Fóruns: http://www.varallos.com.br/foruns
Parando pra pensar, acredito que seja mais otimizado você utilizar dois Maps ao invés de duas Lists.
Mo5ka
Posts:21 Criei uma classe que implementa a funcionalidade de uma matriz bidimensional, vejá só:
Código de teste:
}
}
import java.util.*;
private final Map<Integer, Map<Integer, T>> elementos = new HashMap<Integer, Map<Integer, T>>();
_________________
Ricardo Artur Staroski, OCP-JP
Blumenau - SC
Conheça minhas APIs e respectiva documentação
http://javafree.uol.com.br/topic-891492-Como-fazer-ArrayList-bidimensional.html 2/4
23/7/2014 Como fazer ArrayList bidimensional? - Javafree: O fórum de Java que mais cresce
staroski
Parando pra pensar, acredito que seja mais otimizado você utilizar dois Maps ao invés de duas Lists.
staroski Cara nossa, valew, ajudou muito...só uma duvida, pq o hashmap é melhor que o arraylist neste caso
Posts:3763
especifico?
Ah...e desculpe a ignorancia em hashmap, nunca tinha usado...como faço para destruir um elemento? E
para mover um elemento para outro indice?
Valew
A diferença entre um List e um Map é que um List guarda seus elementos em índices e um Map utiliza
chaves.
No seu caso, as chaves vão ser o número da linha num Map e o número da coluna em outro Map.
thiagovpalmeir
Posts:1451
Para remover um elemento você utiliza o método remove, se você olhar a implementação que fiz, isso
acontece no método set da classe MatrizDinamica, se tu setar um elemento como null, o elemento que
estava naquela coordenada, vai ser removido.
Se você quisesse usar List teria que ter uma estrutura de dados propria pra poder mapear a linha e
coluna do objeto inserido, daria um trabalhão, imagina que sua lista tenha 10 elementos e você quer
inserir um na posição 20, terias que inserir 9 elementos dummy para poder aí inserir no índice 20 o
objeto que você quer.
Com o Map não acontece isso, o Map não é uma lista encadeada, ele é um par chave-valor.
_________________
Ricardo Artur Staroski, OCP-JP
Blumenau - SC
Conheça minhas APIs e respectiva documentação
staroski
Posts:3763 Publicado em: 15/07/2013 18:34:17
leonardooliveira
Monstruoso esse codigo!!!
Monstruoso porque?
Não vejo monstruosidade em um método set para setar o elemento numa posição e um método get para
Relacionados obter o elemento de determinada posição...
_________________
Ricardo Artur Staroski, OCP-JP
Blumenau - SC
Conheça minhas APIs e respectiva documentação
http://javafree.uol.com.br/topic-891492-Como-fazer-ArrayList-bidimensional.html 3/4
23/7/2014 Como fazer ArrayList bidimensional? - Javafree: O fórum de Java que mais cresce
Classe Calculadora
http://javafree.uol.com.br/topic-865464-Classe-Calculadora.html
os exercicios 1,2,e 3 estao funcionando perfeitamente, agora montei o ex 4 para chamar algum
dentro dos anteriores
http://javafree.uol.com.br/topic-893862-os-exercicios-12e-3-estao-funcionando-
perfeitamente-agora-montei-o-ex-4-para-chamar-algum-dentro-dos-anteriores.html
http://javafree.uol.com.br/topic-891492-Como-fazer-ArrayList-bidimensional.html 4/4