草庐IT

java - 同时迭代两个列表并使用流创建另一个

我想使用流实现以下目标:Listlist1=Arrays.asList(obj1,obj2,obj3);Listlist2=Arrays.asList(true,false,true);Listlist=newArrayList();for(inti=0;i有人可以帮忙吗?这应该很容易,但我是Java流的新手。注意:list1和list2的长度总是相同的。 最佳答案 你可以这样做:Listlist=IntStream.range(0,list1.size()).filter(i->list2.get(i)).map(i->list1

java - 如何使用流从 HashMap<E,R> 中提取 List<D>

我想知道如何提取List来自HashMap考虑到这些限制:E是自定义类;R是包含Set的自定义类自定义对象;我尝试过的:我尝试解决thisquestion中的问题.在之前的案例中,我有一个简单的Map>,但在这种情况下,我必须访问R具有目标Set的类.我想在接下来的代码部分中获取Set的元素。其国家名称等于给定参数。我试过使用相同的解决方案:Mapmap=newHashMap();publicListmethod(Stringcountryname){returnmap.values().stream().filter((x)->{returnx.getSet().stream().a

java - 使用流对内部对象的 Map 属性进行分组?

我正在学习Java8-Java11,我得到了一个要转换为java-streams的代码.我有以下类(class):classResource{Listcapabilities;}classCapability{Stringnamespace;Mapattributes;}我有一个资源流,我想将其所有功能属性从两个不同的命名空间(“a”、“b”)提取到Map>我确定没有重复的键。我使用map、flatMap做了很多尝试,但是对于这些,我无法保留主要资源对象的引用。使用java9的新功能我可以进步,但我被困在下面的代码中,在那里我能够返回所有属性,但在一个集合中。我还不能按功能命名空间进行

Java基础知识十一:FileInputStream字节输入流读取、文件复制、读取字节数组、复制图片案例,字节缓冲流介绍、复制视频案例,字符串编码与解码

FileInputStream:字节输入流读取注意:字节输入流,到-1就是文件内容的末尾 //FileInputStream字节输入流读取publicclass FileInputStreamDemo5 {  publicstaticvoid main(String[] args) throws IOException {    FileInputStreamfis = new FileInputStream("f:\\test\\ps.txt");    /*fis.read()读数据     by=fis.read()把读取到的数据赋值给变量by     !=1判断by的值是不是等于负1 

java - 将列表转换为 map - foreach 还是流?

我想转换一个List进入Map.列表的值应该作为键,映射值将被静态初始化。我想保持列表的顺序,因此使用LinkedHashMap,并忽略重复项。问题:使用java8stream有什么优势吗?应用程序接口(interface)?因为,比较以下内容,仅就语法而言,我永远不会选择冗长的流api,而是始终坚持旧的foreach循环://foreachMapmap=newLinkedHashMap();for(Stringk:abk){if(k!=null)map.put(k,STATIC_VAL);}//streamsMapmap2=abk.stream().filter(Objects::n

java - 设置流回浏览器的 Pdf 的文件名

我有一个Javawebapp创建一个pdf并将其流式传输回浏览器。byte[]pdf=report.exportPdfToArray(user);response.setContentType("application/pdf");response.setHeader("content-disposition","inline;filename=\"My.pdf\"");outStream=response.getOutputStream();outStream.write(pdf);outStream.flush();outStream.close();报告被执行并被发送回浏览器,但

Java 流意外结果

我有以下代码:Stream.of("Java","Stream","Test").peek(s->System.out.print(s+"")).allMatch(s->s.startsWith("J"));为什么它打印我的JavaStream? 最佳答案 allMatch是短路操作,因为大多数流操作都是。因为allMatch提前返回,所以peek只打印前两个元素。 关于Java流意外结果,我们在StackOverflow上找到一个类似的问题: https:/

java - 如何用 Java 8 流替换方法?

这可能是一个显而易见的问题,但我正在考虑如何用Java8流替换下面的方法。privateStringassembleString(intnumberOfCharacters,charcharacter){StringBuilderstringBuilder=newStringBuilder();for(inti=0;i我是Java的新手,所以java8对我来说就像一个未开发的世界。谢谢! 最佳答案 您只需要Collections.nCopiesprivatestaticStringassembleString(intnumberOf

java - 在 Java 中处理流

在C#中,我在处理流对象时几乎总是使用using模式。例如:using(Streamstream=newMemoryStream()){//dostuff}通过使用usingblock,我们确保在该代码块执行后立即在流上调用dispose。我知道Java没有与using关键字等价的东西,但我的问题是,在Java中处理像FileOutputStream这样的对象时,我们是否需要做任何家务以确保它得到处置?我在看this代码示例,我注意到他们什么也没做。我只是想知道Java在处理处置流方面的最佳实践是什么,或者它是否足以让垃圾收集器处理它。 最佳答案

java - java8流如何判断一个列表是否是另一个列表的子序列?

例如,我有一个长列表[1,2,3,...,10]和一个短列表[1,3,6],那么我可以说短的是另一个的子序列。另一方面,列表[163]并不是因为它违反了顺序约束。下面是我针对这个问题的java7风格的代码:Listsequence=Arrays.asList(1,3,6);Listglobal=Arrays.asList(1,2,3,4,5,6,7,8,9,10);IteratoriterGlobal=global.iterator();booleanallMatch=true;for(IntegeritemSequence:sequence){booleanmatch=false;w