ich geschaffen habe ein HashMap
im Folgenden aufgeführt:HashMap Einzelwert Retrieval in Java
Map<String, List<Double>> hm1 = new HashMap<String, List<Double>>();
List<Double> hmValues1 = new ArrayList<Double>();
und mit diesem unter Methode Wert aus einer Datei hinzufügen, wo die angegebenen Werte der Datei sind:
line1 0.418 0.24968 -0.41242 0.1217 0.34527 -0.044457 -0.49688 -0.17862 0.00066023 -0.6566
line2 0.013441 0.23682 -0.16899 0.40951 0.63812 0.47709 -0.42852 -0.55641 -0.364 -0.23938
line3 -0.418 -0.24968 0.41242 -0.1217 -0.34527 -0.16899 -0.40951 -0.63812 -0.47709 0.42852
Ich bin in der Lage, alle Werte des Schlüssels zu drucken: line1
, aber ich möchte einzelne Werte der Liste abrufen, um sie getrennt zu verarbeiten.
public static void conceptHashMap() {
int len,i=0;
double dVal=0.0;
String strLine;
String conceptSearch = "line1"; // will be a key in hashmap
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
while ((strLine = br.readLine()) != null) {
String[] dims = strLine.split(" ");
len = dims.length;
if (dims[i++].equals(conceptSearch)) {
while (--len>0) {
dVal=Double.parseDouble(dims[i++]);
hmValues1.add(dVal);
}
hm1.put(conceptSearch, hmValues1);
for (Map.Entry<String, List<Double>> entry : hm1.entrySet()) {
String key = entry.getKey();
List<Double> hmvalues1 = entry.getValue();
System.out.println("key value pair");
System.out.println("Key = " + key);
System.out.println("Values = " + hmvalues1);
}
break;
}
i=0;
}
} catch (IOException e) {
e.printStackTrace();
}
}
Nun, Sie haben bereits eine 'Liste' ..., so dass Sie auf jeden einzelnen Wert zugreifen können. Es spielt keine Rolle, dass du diese Liste von einer Karte hast ... –
kannst du mir bitte eine Code-Hilfe geben? Wo soll ich bearbeiten, um individuelle Werte zu erhalten? Danke –
Es ist unklar, was Sie fragen. Du hast eine Liste von Werten - wie würdest du normalerweise individuelle Werte daraus gewinnen? Der Kartenteil ist irrelevant. –