LinkedHashMap (POR FAVOFR)

Olá, utilizo uma linkedhashmap dentro de uma thread, para percorrer todo esse mapa utilizo um while+iterator, não gostaria de utilizar esse while e/ou iterator e sim algo tipo lista[pos+1] quando essa thread começar a trabalhar.

Alguem saberia como poderia utilizar dessa maneira utilizando uma linkedhashmap?

TANKS…

Você pode percorrer o mapa com for each.

Supondo que vc tem um Map<String, String>:

for (String chave : mapa.keySet()) { String valor = mapa.get(chave); ... }

PS: Evite termos como POR FAVOR, AJUDA, HELP no título do seu tópico, principalmente em letras maiúsculas.

Vini, a situação é a seguinte, esse código faz parte da threa que está funcionando hoje:

...
public void run() {
		while (running) {
			try {
				j = List1.take();
				if (!List2.isEmpty() && j != null) {
					if (nextW >= List2.size()) {
						nextW = 0;
					}
					w = List2.get(nextW++);
....

List1 é uma BlockingQueue e List2 é uma LinkedList. Da maneira que está hoje esta funcionando perfeitamente, ou seja, quando ocorre o List1.take vai pegar o nextW da List2. O que preciso é mudar essa List2 para uma LinkedHashMap aí da maneira que está no codigo acima nao vai funcionar.

Alterei conforme você sugeriu para

....
	public void run() {
		while (running) {
			try {
				j = List1.take();
				if (!List2.isEmpty() && j != null) {
					for (String chave : List2.keySet()) {
						w = List2.get(chave);
....

E aí o que está ocorrendo é que esse for each fica igual executando mesmo nao tendo um List1.take. Se poder me auxiliar.

Por que você tem que trocar para um map? E não estou nem sequer entendendo para que serve esse seu código.