论坛首页 入门技术论坛

发现Java8用起来真的很方便啊

浏览 2126 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-07-08  
场景:一个集合(list),泛型为PersonBean,PersonBean有2个属性:name和date,现要对date进行从大到小排列
用了Java8后包括输出3行代码搞定!!!
<pre name="code" class="java">
public class PersonBean implements Serializable{

private static final long serialVersionUID = -9104938411389736945L;

private String name;

private Date date;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}

}
</pre>
<pre name="code" class="java">
public class Test {

public static void main(String[] args) throws Exception{
List&lt;PersonBean&gt; list = new ArrayList&lt;PersonBean&gt;();
for (int i = 0; i &lt; 10; i++) {
PersonBean pb = new PersonBean();
pb.setName("名字"+(i+1));
Date d = new Date();
if(i==0||i==1){
d = new SimpleDateFormat("yyyy-MM-dd").parse("2015-07-08");
}else{
d = new SimpleDateFormat("yyyy-MM-dd").parse("2015-07-"+(10+i));
}
pb.setDate(d);
list.add(pb);
}
//对PersonBean里的每个日期进行排序
Stream&lt;PersonBean&gt; s = list.stream();
//不满意compareTo?可以自己实现
//从大到小排列
s = s.sorted((m,n)-&gt;n.getDate().compareTo(m.getDate()));
s.forEach(m-&gt;System.out.println(m.getDate()));
}


}
</pre>
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics