草庐IT

data_stream

全部标签

java - 收集 HashSet/Java 8/Regex Pattern/Stream API

最近我更改了JDK8的版本而不是我的项目的7,现在我使用Java8附带的新功能覆盖了一些代码片段。finalMatchermtr=Pattern.compile(regex).matcher(input);HashSetset=newHashSet(){{while(mtr.find())add(mtr.group().toLowerCase());}};如何使用StreamAPI编写此代码? 最佳答案 如果您重用JDK提供的Spliterators.AbstractSpliterator,基于Matcher的拆分器实现会非常简单:

java - 混合 Spring MVC + Spring Data Rest 导致奇怪的 MVC 响应

我有两个JPA实体,一个带有SDR导出存储库,另一个带有SpringMVCController和一个非导出存储库。MVC公开的实体引用了SDR管理的实体。请参阅下面的代码引用。从UserController检索User时,问题就出现了。SDR托管实体不会序列化,似乎Spring可能会尝试在响应中使用HATEOAS引用。这是完全填充的User的GET的样子:{"username":"foo@gmail.com","enabled":true,"roles":[{"role":"ROLE_USER","content":[],"links":[]//whythecontentandlink

java - 如何在 Java Stream 上应用多个过滤器?

我必须通过映射来过滤对象集合,该映射包含对象字段名称和字段值的键值对。我正在尝试通过stream().filter()应用所有过滤器。对象实际上是JSON,因此Map包含其变量的名称以及它们必须包含的值才能被接受,但是为了简单起见并且因为它与问题无关我写了一个简单的Testclass用于模拟行为:publicclassTestObject{privateintproperty1;privateintproperty2;privateintproperty3;publicTestObject(intproperty1,intproperty2,intproperty3){this.pro

集合list排序,普通排序,stream(单属性、多属性)排序

1、list基础数据Listlist=Arrays.asList(1,5,6,2,4,80,43,7);1.1Collections.sort排序Collections.sort(list);System.out.println("Collections.sort正序----->"+list);Collections.reverse(list);System.out.println("Collections.reverse倒序-->"+list);结果:Collections.sort正序----->[1,2,4,5,6,7,43,80]Collections.reverse倒序-->[80,

Java TCP 套接字 : data transfer is slow

我用ServerSocket设置了一个服务器,用客户端机器连接到它。它们通过交换机直接联网,ping时间现在,我尝试通过套接字的输出流将“大量”数据从客户端推送到服务器。传输0.6Gb需要23分钟。我可以通过scp在几秒钟内推送一个更大的文件。知道我可能做错了什么吗?我基本上只是循环并在套接字上调用writeInt。速度问题与数据的来源无关,即使我只是发送一个常量整数而不是从磁盘读取也是如此。我尝试将两侧的发送和接收缓冲区设置为4Mb,没有骰子。我为读取器和写入器使用缓冲流,没有骰子。我错过了什么吗?编辑:代码这里是我做socket的地方System.out.println("Conn

【esp32】-bug -1 #无法烧录程序,报错Failed to connect to ESP32: No serial data received

项目场景:利用VSCode基于ESP-IDF框架向esp32烧录程序。问题描述无法烧录程序,报错:esptool.pyv3.3-devSerialportCOM14Connecting......................................Afatalerroroccurred:FailedtoconnecttoESP32:Noserialdatareceived.Fortroubleshootingstepsvisit:https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html原因分

java - 单元测试困境 : Using a JNDI data source without running JBoss or Spring

问题陈述我希望能够对连接到数据库的方法运行junit测试。当前设置EclipseJavaEEIDE–Java代码不使用任何框架。开发人员(包括我在内)希望在尝试将代码移至Spring框架之前对当前遗留代码进行更健壮的测试,以便我们可以一路证明行为仍然正确。JBoss4.2–供应商软件的版本限制(AdobeLiveCycleES2);我们的JavaWeb应用程序使用JBoss的这种设置来运行并使用Adob​​eLiveCycleAPI。我们无法在Eclipse中成功运行供应商配置的JBoss–我们花了数周时间尝试此操作,包括联系为我们提供JBossforAdob​​eLiveCycle配

axi4-stream-fifo使用

一:寄存器描述二:写操作流程1.读TDFV(0xC)寄存器                                                //查询FIFO可写次数2.写TDFD(lite接口:0x10,full接口:0x0)寄存器    //写待发数据3.写TLR(0x14)寄存器                          //写包长度,单位Byte        存储转发模式:数据写入fifo后,并不会立即传输到stream输出接口,只有当写入包长度后,指定长度的数据在stream接口上进行传输,传输最后一个数据tlast拉高。        直通模式:数据写入fif

java - 如何验证Java 8 Stream中是否包含两个特定元素?

假设我有List,并且我想在该列表中进行搜索,以验证我同时具有Civic和Focus。如果是OR,那很容易,因为我可以在.filter()上应用OR。请记住,我无法为此类AND做filter().filter()。一个可行的解决方案是:booleanhasCivic=reportElements.stream().filter(car->"Civic".equals(car.getModel())).findFirst().isPresent();booleanhasFocus=reportElements.stream().filter(car->"Focus".equals(car

Java 8 stream API orElse 用法

我想做的是过滤列表,然后将其映射并在null时使用orElse,然后将其收集回列表。现在我可以这样实现:returnusers.stream().filter(user->id.equals(user.getId())).map(user->{if(user.getData()!=null){returnuser.getData();}returnCollections.emptyMap();}).collect(Collectors.toList());但问题是:我怎样才能使这个结构更好,为什么我不能在这种情况下使用orElse? 最佳答案