草庐IT

05-Collection

全部标签

java - 如何使用 lambda 表达式在 Java 的一行中创建值为 0,1,2,...,N 的 int[] 或 Collection<Integer>?

我想做这样的事情:int[]seq=newint[N];for(inti=0;i...在一行中,我想知道是否可以使用lambda表达式。如果它适用于ArrayList,对我来说没问题。 最佳答案 使用IntStream.range():int[]seq=IntStream.range(0,N).toArray();或IntStream.rangeClosed()如果你想包含N:int[]seq=IntStream.rangeClosed(0,N).toArray(); 关于java-如何

Java 8 流 : replace single item in streamed collection

我对使用Java8有点陌生,并且正在使用流操作(这似乎是一个很好的用例)重构一些旧代码。旧代码“有效”,但在我看来它看起来效率很低。我的问题的简短版本是我试图找到List的单个元素并将其替换为同一元素的更新版本(键是相同的,但属性每次代码都有不同的值被称为)。try{Listitems=lookup(itemCache.getKey());for(inti=0;inewItems=newArrayList(items);newItems.set(i,newObject);putIntoCache(newObject.getKey(),newItems);break;}}}catch(E

java - 什么是 Collection View ?

在使用Guava时,我一直在阅读术语查看几次集合并阅读其文档。我一直在寻找关于View在这种情况下是什么以及它是否是在Guava之外使用的术语的解释。它经常被使用here.这type来自Guava的名称中有view。我的猜测是,一个集合的View是另一个具有相同数据但结构不同的集合;例如,当我将java.util.HashSet中的条目添加到java.util.LinkedHashSet时,后者将是前者的View。对吗?有人可以给我一个公认的View定义的链接吗?谢谢。 最佳答案 另一个对象的View根本不包含它自己的数据。它的所有

java - 对 java.util.Collection.contains 的可疑调用

我从我的NetBeansIDE收到以下警告。Suspiciouscalltojava.util.Collection.containsExpectedtypeT,actualtypeObject请问这是什么意思?这对我来说没有意义。List和Collection类的contains方法都使用Object作为它们的方法参数。importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;importjava.util.List;/****@authoryan-cheng.cheok*/public

java - 加入 Java 8 Collection API

我有两个List>对象。[{Month=August-2013,Sales=282200},{Month=July-2013,Sales=310400},{Month=June-2013,Sales=309600},{Month=May-2013,Sales=318200},{Month=September-2013,Sales=257800}]和[{Month=April-2013,NoOfTranx=8600},{Month=August-2013,NoOfTranx=6700},{Month=July-2013,NoOfTranx=14400},{Month=June-2013,

java - 如何在 Java 代码中使用 scala.collection.immutable.List

我需要编写一段代码来比较Java的ArrayList和Scala的List的性能。我很难让ScalaList在我的Java代码中工作。有人可以发布一个真正简单的“helloworld”示例,说明如何用java代码(在.java文件中)创建ScalaList并将100个随机数添加到是吗?PS:我Java比较好,但是没用过Scala。 最佳答案 从java内部使用scala.collection.JavaConversions。例如,创建一个嵌套的Scala案例类,在其构造函数中需要一个Scala列表:caseclassCardDraw

java - 为什么 getHeaderNames 在 HttpServletRequest 中返回 Enumeration 而在 HttpServletResponse 中返回 Collection?

HttpServletRequest.getHeaderNames()返回Enumeration和HttpServletResponse.getHeaderNames()返回Collection.为什么会出现这种差异? 最佳答案 枚举与Hashtable和Vector结合使用。HttpServletRequest从jdk1.2开始就有了getHeaderNames方法,此后一直没有改变。但是HttpServletResponse直到jdk6才具有getHeaderNames方法,到那时,Collection显然比遗留的Enumera

java - 为什么在 java.util.Collection 上有一个方法 iterator()

为什么在接口(interface)java.util.Collection上定义了iterator()方法,而它已经扩展了定义了这个方法的java.util.Iterable。我在考虑某种向后兼容性或在集合级别的方法上编写一些JavaDoc的机会。还有其他想法吗? 最佳答案 向后兼容。Iterable直到1.5才引入for(Objecto:iterable)构造。以前,所有集合都必须提供迭代它们的方法。 关于java-为什么在java.util.Collection上有一个方法itera

java - 为什么我不能将 Collection<GenericFoo> 转换为 Collection<GenericFoo<?>>

问题的症结在于,为什么这会导致编译时错误?Listraws=newArrayList();List>c=raws;//error背景我理解为什么泛型通常不是协变的。如果我们可以分配List至List,我们会让自己暴露于ClassCastExceptions:Listints=newArrayList();Listnums=ints;//compile-timeerrornums.add(Double.valueOf(1.2));Integeri=ints.get(0);//ClassCastException我们在第2行遇到编译时错误,以免在第4行出现运行时错误。这是有道理的。List

java - 为什么不使用 Map#removeAll(Collection<?>)?

为什么Map没有Java中的接口(interface)有一个removeAll(Collectionc)删除键的方法,就像它有map.remove(Object)?我知道我总能做到map.keySet().removeAll(..)..但这是Map的原因吗?没有removeAll()并鼓励我们选择map.keySet().removeAll(..)? 最佳答案 集合API背后的理念是尽可能小和简单。Map上的CollectionView已经允许您执行此操作,因此不需要额外的方法。keySet方法返回map的View。对键集的操作会反