Java风骚地操作集合

原创 2016年08月29日 00:04:48

对两个同类型集合

retainAll //交集
removeAll //差集
addAll    //并集

单个集合
例:找出年龄超过20岁的学生

student.removeIf(x -> x.getAge() <= 20);

 List<Student> stu =
  student.stream()
         .filter(x -> x.getAge() > 20)
         .collect(Collectors.toList());

对应sql

SELECT * FROM student WHERE age > 20

对象关联
例 1:找出有一门成绩超过80分的学生

student.removeIf(x -> (
    Score.stream()
         .filter(y -> y.getSco() > 80 
              && y.getStuid() == x.getId())
         .count() == 0
                ));

List<Student> stu =
    student.stream()
           .filter(x -> (
               Score.stream()
                    .filter(y -> y.getSco() > 80 
                         && y.getStuid() == x.getId())
                    .count() != 0)
           ).collect(Collectors.toList());

对应sql

SELECT DISTINCT student.* FROM student 
LEFT JOIN score ON student.id = score.stuId 
WHERE score.sco > 80 

例 2:找出超过两门以上成绩都在70以下的学生

student.removeIf(x -> (
    Score.stream()
         .filter(y -> y.getSco() < 70 
              && y.getStuid() == x.getId())
         .count() <= 1
                ));

List<Student> stu =
 student.stream()
        .filter(x -> (
        Score.stream()
             .filter(y -> y.getSco() < 70 
                  && y.getStuid() == x.getId())
             .count() > 1)
       ).collect(Collectors.toList());

对应sql

SELECT * FROM student WHERE id IN(
SELECT stuId FROM score WHERE sco < 70 
GROUP BY stuId HAVING (COUNT(*) > 1))
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java常用API包及骚操作

lombok(@data) https://my.oschina.net/darkness/blog/510808 org.apache.commons.lang3.StringUtils ...
  • b2222505
  • b2222505
  • 2017年09月23日 20:17
  • 183

Java中有关Null的9件事

Java中有关Null的9件事   本文由 ImportNew - Calarence 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。 对于Ja...
  • hqiangtai
  • hqiangtai
  • 2016年08月26日 19:06
  • 457

Java风骚地操作集合

java8函数式编程操作集合
  • u012514724
  • u012514724
  • 2016年08月29日 00:04
  • 180

C++骚操作

c++有些操作很是厉(he)害(he)让人摸不准头脑,因此而闻名c++界,本文记录一些骚操作,并附上一些解释\...
  • qq_35158290
  • qq_35158290
  • 2017年09月05日 20:57
  • 110

Java_集合操作_集合运算时使用更优雅的方式

在初中代数中,我们经常会求两个集合的并集、交集、差集等,在Java中也存在着此类运算,那如何实现呢?一提到此类集合操作,大部分的实现者都会说:对两个集合进行遍历,即可求出结果。是的,遍历可以实现并集、...
  • u012552052
  • u012552052
  • 2015年04月12日 14:45
  • 1111

1006--Java集合--操作集合的工具类:Collections

lCollections 是一个操作 Set、List 和 Map 等集合的工具类 lCollections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变...
  • xxxcyzyy
  • xxxcyzyy
  • 2015年07月05日 02:28
  • 539

web端 es6 骚操作 总结

注册类型验证 Proxy Reflect function validator(target, validator) { return new Proxy(target, {...
  • qq_30889373
  • qq_30889373
  • 2018年02月05日 11:43
  • 21

简单的javaweb项目

  • 2014年02月09日 08:58
  • 24.26MB
  • 下载

Java基础之(三十四)操作集合的工具类:collections

说明 Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序、查询和修改等操作,还提供了将集合对象置为不可变、对集合对象实现同步控...
  • jxq1994
  • jxq1994
  • 2016年08月26日 19:41
  • 1449

【骚男崛起】女人们已无法阻止男人的妖媚了!小苏有朋遭禁播性感舞曲MV流出

著名歌手马宁有着迷离的眼神,劲爆的舞姿,前卫的装扮,马宁电音舞曲,带来艳绝华人乐坛的时尚舞曲“MR.COLOR”,被网友尊称其“妖男帝马宁”!       五光十色、大胆华丽,性感的浩室表现...
  • shenghui26
  • shenghui26
  • 2011年12月07日 14:29
  • 1121
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java风骚地操作集合
举报原因:
原因补充:

(最多只允许输入30个字)