最近项目里用的都是jdk1.8,所以一些新功能也就拉出来用用了.
首先,我觉得最好用的也就是list得filter方法
看一段代码
//以前的查找方法
List<String> list = new ArrayList()<>;
//添加数据
for(int i = 0 ; i < 10000; i ++){
list.add("数据"+i);
}
List<String> findList = new ArrayList()<>;
//查找
for(String s : list){
if(s.startsWith("数据30")){
findList.add(s);
}
}
使用jdk1.8之后
//以前的查找方法
List<String> list = new ArrayList()<>;
//添加数据
for(int i = 0 ; i < 10000; i ++){
list.add("数据"+i);
}
//一句话搞定
List<String> findList = list.stream().filter(s-> s.startsWith("数据30"))
.collect(Collectors.toList());
还有合并重复数据排序等功能
List<String> list = new ArrayList()<>;
//添加数据
int j = 0;
for(int i = 0 ; i < 10000; i ++){
list.add("数据"+j);
if(i%100 ==0){
j+=100;
}
}
//一句话搞定
List<String> findList = list.stream().distinct()
.collect(Collectors.toList());
//输出结果已经合并了重复值
整个集合转换大写字母
List<String> output = list.stream().
map(String::toUpperCase).
collect(Collectors.toList());
等等 ..大家值得一看