目標做1組:
通過爲數據成員_age通過使用Java如何通過使用Java
結果應該是:
age amount
---------------
0 8
1 8
2 8
3 8
問題:
我沒想到在java中執行它會比C#更困難。
基於從這個page的靈感,我試圖讓group by但它沒有工作。
部分什麼我缺少
謝謝!
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class JavaApplication22
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
List<Test> _Test = new ArrayList<>();
_Test.add(new Test(0, "df", 4));
_Test.add(new Test(0, "we", 4));
_Test.add(new Test(1, "df", 4));
_Test.add(new Test(1, "we", 4));
_Test.add(new Test(2, "df", 4));
_Test.add(new Test(2, "we", 4));
_Test.add(new Test(3, "df", 4));
_Test.add(new Test(3, "we", 4));
// This one below is error
Map<String, Integer> sum = _Test.stream().collect(Collectors.groupingBy(Test::get, Collectors.summarizingInt(Test::get)));
}
}
public class Test
{
private int _age;
private String _sex;
private int _amount;
public Test(int age, String sex, int amount)
{
_age = age;
_sex = sex;
_amount = amount;
}
public int getAge()
{
return _age;
}
public String getSex(String sex)
{
return _sex;
}
public int getAmount()
{
return _amount;
}
}
請解釋[ 「但它沒有工作」(http://importblogkit.com/2015/07/does-not-work/ )。 – Pshemo
我試圖改成summingInt,並添加了方法「getAge」,但它仍然不起作用 –