Anagram代码含义

时间:2016-08-01 15:19:46

标签: java arraylist anagram

在下面的代码中,以下行的含义是什么?

m.put(alpha, l=new ArrayList<String>());

代码(用于查找Anagrams):

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);
}

1 个答案:

答案 0 :(得分:3)

部分

m.put(alpha, l=new ArrayList<String>());

也可以写成

l=new ArrayList<String>();
m.put(alpha, l);

赋值返回指定的值,这就是代码工作的原因。