专栏名称: 51CTO
51CTO官方公众号——聚焦最新最前沿最有料的IT技术资讯、IT行业精华内容、产品交流心得。本订阅号为大家提供各种技术干货,还会不定期的举办有奖活动,敬请关注。
目录
相关文章推荐
新浪科技  ·  【#多枚保时米商标被驳回##特斯米法拉米被注 ... ·  12 小时前  
新浪科技  ·  【#小米回应YU7辅助驾驶能力##小米YU7 ... ·  14 小时前  
51好读  ›  专栏  ›  51CTO

干货 | 用Java Steams创建数据透视表

51CTO  · 公众号  · 科技媒体  · 2017-04-27 11:46

正文

请到「今天看啥」查看全文


1985,ATL,NL,campri01,633333

1985,ATL,NL,ceronri01,625000

...


我们用类似于如下代码的Streams加载CSV的数据:

Pattern pattern = Pattern.compile(",");

try (BufferedReader in = new BufferedReader(new FileReader(filename));){

List players = in

.lines()

.skip(1)

.map(line -> {

String[] arr = pattern.split(line);

return new Player(Integer.parseInt(arr[0]),

arr[1],

arr[2],

arr[3],

Integer.parseInt(arr[4]));

})

.collect(Collectors.toList());

}


  • 定义数据透视表列的类

我们使用下面的类来定义数据透视表的各个列容器的类。这些列是用于对数据进行分组的。如果你使用的是SQL的话,这些列将出现在“GROUP BY”的语句中。

public class YearTeam

{

public int year;

public String teamID;

public YearTeam(int year,String teamID) {

this.year = year;

this.teamID = teamID;

}

@Override

public boolean equals(Object other)

{

if ( other == null ) return false;

if ( this == other ) return true;

if ( other instanceof YearTeam ) {

YearTeam yt = (YearTeam)other;







请到「今天看啥」查看全文