Pegando o primeiro valor de um LinkedHashMap

Oi, boa noite, eu estou com o seguinte problema:
tenho um “LinkedHashMap<String, List> mapaConfig”, e estou querendo pegar só a primeira Key, e a primeira lista de Value, para fazer com que um Jlabel pegue(getText) o valor da key, e vários(no meu caso 9), radioButtons peguem o texto de cada String que está no “Value” do meu mapa, meu código agora está da seguine forma:

for (Entry<String, List> entry : mapaConfig.entrySet()) {

       label.setText(entry.getKey());
	    if (!entry.getValue().get(0).equals("+_+")) {
			radio1.setVisible(true);
			radio1.setText(entry.getValue().get(0));
		}
		if (!entry.getValue().get(1).equals("+_+")) {
			radio2.setVisible(true);
			radio2.setText(entry.getValue().get(1));
		}
		if (!entry.getValue().get(2).equals("+_+")) {
			radio3.setVisible(true);
			radio3.setText(entry.getValue().get(2));
		}
		if (!entry.getValue().get(3).equals("+_+")) {
			radio4.setVisible(true);
			radio4.setText(entry.getValue().get(3));
		}
		if (!entry.getValue().get(4).equals("+_+")) {
			radio5.setVisible(true);
			radio5.setText(entry.getValue().get(4));
		}
		if (!entry.getValue().get(5).equals("+_+")) {
			radio6.setVisible(true);
			radio6.setText(entry.getValue().get(5));
		}
		if (!entry.getValue().get(6).equals("+_+")) {
			radio7.setVisible(true);
			radio7.setText(entry.getValue().get(6));
		}
		if (!entry.getValue().get(7).equals("+_+")) {
			radio8.setVisible(true);
			radio8.setText(entry.getValue().get(7));
		}
		if (!entry.getValue().get(8).equals("+_+")) {
			radio9.setVisible(true);
			radio9.setText(entry.getValue().get(8));
		}

		break;
	}

Eu imaginei que se eu dese um break ele iria parar na primeira vez que passasse pelo loop, mais deste jeito ele esta pegando a primeira key, e o ultimo value, e eu não sei o que fazer.

Se eu adicionar na primeira key, o valor a, e no value [a,a,a], na segunda b, e [b,b,b], no final quando eu executo ele me devolve a o texto da label como “a”, e dos radioButton como “b”, “b”, “b”

OBS.:no caso eu usei o simbolo “+_+” como se fosse um null, pois nem todos os atributos deste mapa terão todas os 9 campos da lista, e quando eu estava usando null dava um erro;

Assim não é mais simples?

Entry<String, List<String>> entry = mapaConfig.entrySet().iterator().next();
String key = entry.getKey();
List<String> values = entry.getValue();
label.setText(key);
JRadioButton[] radios= new JRadioButton[] { radio1, radio2, radio3, radio4, radio5, radio6, radio7, radio8, radio9 };
for (int i = 0; i < radios.length; i++) {
	String value = i < values.size() ? values.get(i) : null;
	if (value != null) {
		radios[i].setVisible(true);
		radios[i].setText(value);
	}
}

Bom, eu tinha pensado em fazer algo assim, já que todos os radios seguem o padrão de “radio(numero)”, vou tentar fazer do seu jeito.

E quanto ao meu problema, eu percebi que estava no momento que eu alimentava o Mapa, só não sei como fechar esse tópico, mas de todo jeito vou estudar sua sugestão pra diminuir a quantidade de linhas que eu uso.

1 curtida