java
java编程
I_belong_to_jesus
EE博士,主要兴趣:EDA软件,EDA前端仿真和加速,RISC-V,AI-芯片,减肥,机器学习基础(凸优化),神经网络(推荐算法、图像处理算法),统计信号处理(传统滤波检测估计算法、稀疏表示算法和压缩感知算法)。
开发平台:软件开发,嵌入式开发。
展开
-
java stream复杂去重复和条件排序代码实现
复杂去重复可以通过distinctByKey函数来实现,而复杂条件排序可以通过内嵌函数来实现,示例代码如下:// Java program is to demonstrate the example of// reverse(List l) method of Collections import java.util.ArrayList;import java.util.Collection;import java.util.List;import java.util.Map;impor原创 2022-01-18 01:05:48 · 945 阅读 · 0 评论 -
java8 stream 对List求和方法总结
主要利用了reduce方法和Collectors.summing的方法,reduce根据初始值(参数1)和累积函数(参数2)依次对数据流进行操作,第一个值与初始值送入累积函数,后面计算结果和下一个数据流依次送入累积函数实现求和,Collectors.summingXXX()(XXX表示具体数据类型)将流中所有元素视为Long类型,并计算所有元素的总和,下面直接给一个实例:import java.util.ArrayList;import java.util.Collection;import ja原创 2021-12-31 16:02:05 · 22410 阅读 · 0 评论 -
java的Builder设计模式: 原理和实现
public class TestBuilder { public static void main(String[] args) { CompanyClient client = new CompanyClient.Builder() .setCompanyName("alibaba") .setCompanyAddress("wangjing") .setCompanyRegfu.原创 2021-12-28 01:25:06 · 570 阅读 · 0 评论 -
java中的byte数据符号位和移位问题
byte是有符号的,我们看下如下操作。byte data = -10二进制补码(负数取反加1):11110110运算1:int dat2 = (int)((data & 0xff) << 1)&运算结果会先变为字节,此时运算数据为纯字节,不存在符号位只是字节流,左移1位以后,为111101100,转为int后由于不存在符号位,故转int后为492。运算2:int dat1 = (int)(data << 1);左移1位以后,为11110原创 2021-09-29 17:44:54 · 1238 阅读 · 0 评论 -
java Future功能介绍
给一个Future的简单例子:import java.util.concurrent.*;public class FutureUsage { private ExecutorService executor = Executors.newSingleThreadExecutor(); //创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。 public Future<I原创 2021-08-26 16:58:10 · 180 阅读 · 0 评论 -
Java8新特性(与java7对比):stream filter功能
import java.util.ArrayList;import java.util.Arrays;import java.util.IntSummaryStatistics;import java.util.List;import java.util.Random;import java.util.stream.Collectors;import java.util.Map; public class Java8Tester { public static void main(S.原创 2021-08-25 21:22:28 · 537 阅读 · 0 评论 -
Java的filter和lambda功能介绍
最近使用java,用到了stream、filter和lambda等新方法,感觉很实用,这里通过一个实例来介绍下这部分功能的实现,需要的小伙伴可以参考下,首先直接上代码实例:import java.time.*;import java.util.List;import java.util.ArrayList;import java.util.stream.Collectors;public class filter_test{ public static void printStud原创 2021-07-09 11:58:09 · 5577 阅读 · 0 评论 -
java如何对类对象进行排序:以日期排序为例
我们以时间排序为例,来实现java对类对象的排序,设java某class的定义如下:class cmpData{String Name;String sDate;public cmpData(String Name,String strDate) {this.Name=Name;this.sDate=strDate;}}这里sDate表示某个日期,格式为"yyyy-mm-dd hh:mm:ss",若使得类具有比较大小功能,可以继承接口Comparable,并重写接口方法compar原创 2020-12-29 21:49:43 · 3433 阅读 · 0 评论 -
MapReduce的Map如何获取处理数据所在目录以及数据所在文件
首先要获取输入的分割块(input split),MapReduce的接口为:context.getInputSplit();为了获得文件路径和文件名,需要首先将结果类型转换到FileSplit,故,获取数据所在目录:Path filePath = ((FileSplit) context.getInputSplit()).getPath();String filePathString = ((FileSplit) context.getInputSplit()).getPath().to原创 2020-12-29 15:45:59 · 952 阅读 · 0 评论 -
java错误:编译出错,提示 The literal XXXXXXXXXXXXXXXX of type int is out of range
定义数组long[] data=new long [] {6925710,6925720,7042120, 95000019889780,95000019889760};会报错The literal 95000019889780,95000019889760 of type int is out of range解决方法,长整型需要加L:long[] data=new long [] {6925710L,6925720L,7042120L,95000019889780L,9500001.原创 2020-12-16 17:24:00 · 1336 阅读 · 0 评论