In dem folgenden Code, was bedeutet die folgende Zeile?Anagram Code Bedeutung
m.put(alpha, l=new ArrayList<String>());
-Code (für Anagramme zu finden):
try {
Scanner s = new Scanner(new File(args[0]));
while (s.hasNext()) {
String word = s.next();
String alpha = alphabetize(word);
List<String> l = m.get(alpha);
if (l == null)
m.put(alpha, l=new ArrayList<String>());
l.add(word);
}
} catch (IOException e) {
System.err.println(e);
System.exit(1);
}
hängt davon ab, was 'm' ist. Wenn Sie von der Zuweisung als Funktionsargument verwirrt sind, denken Sie daran, dass in der Java-Zuweisung ein Operator ist, genau wie '+'. Sein Ergebnis ist der Wert, der zugewiesen wird, und es hat einen Nebeneffekt, den Wert der Variablen zu ändern. – Arkadiy
Ihr vollständiger Code muss hier als [mcve] angegeben werden. Sieht aber so aus, als hättest du eine Hashmap. Was ist daran nicht zu verstehen? –
In Java 8 wäre das 'm.computeIfAbsent (alpha, l -> neue ArrayList()). Add (Wort);' –
4castle