Uso un ArrayList di Map.Entry<String, Long>
, controllando che entrambi ArrayLists hanno uguali dimensioni (come sembra essere il vostro requisito), così:
List<Map.Entry<String,Long>> subjectNumArr = new ArrayList<>(numArr.size());
if (subjectArr.size() == numArr.size()) {
for (int i = 0; i < subjectArr.size(); ++i) {
subjectNumArr.add(new AbstractMap.SimpleEntry<String, Long>(subjectArr.get(i), numArr.get(i));
}
}
Questo è tutto il codice necessario!
Poi, per scorrere i risultati, usare qualcosa come:
for (Map.Entry<String, Long> entry : subjectNumArr) {
String key = entry.getKey();
Long value = entry.getValue();
}
o, si può ottenere semplicemente la coppia alla posizione i (tenendo ordine di inserimento), da:
Map.Entry<String, Long> entry = subjectNumArr.get(i);
Questo può anche contenere voci duplicate, a differenza della soluzione Map che ho inizialmente suggerito, senza la necessità di definire la propria classe (Pair).
Forse, una mappa dovrebbe essere più utile per la raccolta composita – vefthym
sarà necessario creare un oggetto personalizzato che può essere utilizzato per creare tale elenco – Jabir