知识点(1)

来源:互联网 发布:安卓ble蓝牙通信源码 编辑:程序博客网 时间:2024/06/10 13:19

知识点(1)

一、函数式编程
1.对象某属性的和

   List<Student>  students  ;   int totalScore = students.stream().map(e -> e.getScore()).reduce(0, (x, y) -> x + y);

二、mysql相关
1.统计近一段时间的数据

//前一年BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 year) and NOW()  //后一年BETWEEN ‘2015-04-9’ DATE_ADD(‘2015-04-09’, INTERVAL 1 year)  

2.计算时间天数差值

//创建时间小于三天的数据DATEDIFF(NOW(), IFNULL(create_time,NOW())) <= 3 ]]>

3.mybatis传参
需带引号要加“#”符号, 不需带引号的,要加美元符号。
如1,函数中的1和year不能带引号。
三、算法相关
1.异或运算:相同为0,相异为1。
2.按位与运算:两位同时为1,结果为1,否则为0。 0&0=0;0&1=0;1&0=0;1&1=1。
计算汉明距离:
思路:
1).将两个给定的数进行 异或(^)运算后保存在变量a,汉明距离就是a的二进制中1的个数
2).当a不为0时,和0x01进行 按位与(&)运算,如果结果为1,则统计变量加一
3).将a右移一位,重复第02步

 public int hammingDistance(int x, int y) {        int count = 0;        x = x^y;        while(x!=0)        {            if((x&0x01) == 1)                count++;            x=x>>1;        }        return count;    }
0 0
原创粉丝点击