草庐IT

some_collection

全部标签

java - Collections.unmodifiableCollection() 的 hashCode 和 equals

Collections类有很多静态辅助方法来提供各种集合类型的只读View,比如unmodifiableSet(),unmodifiableList()等。对于这些View对象,hashCode()和equals()方法将调用转发到基础集合...有一个奇怪的异常(exception):unmodifiableCollection().JavaDocexplicitlystates:ThereturnedcollectiondoesnotpassthehashCodeandequalsoperationsthroughtothebackingcollection,butreliesonO

java - 为什么 Collections 类包含独立(静态)方法,而不是将它们添加到 List 接口(interface)中?

对于Collections中的所有方法需要List作为他们的第一个论点,为什么这些方法不只是List接口(interface)的一部分?我的直觉是:给定一个List对象,该对象本身应该“知道”如何对其自身执行操作,例如rotate()、shuffle()或reverse()。但是,作为一名Java程序员,我必须检查List接口(interface)中的方法,以及Collections类中“那边”的静态方法,以确保我使用的是规范的解决方案。为什么有些方法作为静态独立方法放置在Collections类中,而不是添加到List接口(interface)(并且可能因此由某些现有或可能的基类实现

Java Collections - 查找两个集合之间是否存在公共(public)元素的最快方法

我有两个来自GuavaHashMultimap.values()的集合。我需要找出这两个非空集是否存在具有最佳时间复杂度的交集。我不需要知道共同元素,只要至少有一个共同元素即可。我正在考虑使用Sets.intersection(),但它的时间复杂度为O(m+n)。我们是否可以在不创建整个交集的情况下找出是否存在共同元素?类似于(伪代码):set.intersection(set2).any()数据集很大,这个操作发生在一个循环中,因此性能是最重要的。 最佳答案 对于普通的JDK,这只是!Collections.disjoint(se

java - Java 8 会在使用 Stream "filter"和 "collect"后创建一个新的 List 吗?

我有使用Java8的代码:Listlist=newArrayList();list.add(3);list.add(5);list.add(4);list.add(2);list.add(5);list=list.stream().filter(i->i>=3).collect(Collectors.toList());原始列表是[3,5,4,2,5]。经过“filter”和“collect”操作后,列表变为[3,5,4,5]。是否所有操作都在原始列表上执行并且不创建新列表?或者在“过滤”和“收集”操作之后,返回一个新创建的列表并忽略原始列表? 最佳答案

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 - Collections.max 签名的解释

当我偶然发现这个方法签名时,我正在阅读一篇关于Java泛型的文章:static>Tmax(Collectioncoll);我不明白的部分是为什么我们需要拥有Collectioncoll不会Collectioncoll也一样吗?有人能解释一下为什么下面的签名不合适吗?static>Tmax(Collectioncoll);预先感谢您的回复。这让我困惑了很长一段时间.. 最佳答案 Gábor是正确的。通配符允许返回对象的静态类型不同于您输入的集合的声明参数类型。例如,给定这些类:interfaceSextendsComparable{}

java - ConcurrentHashMap.newKeySet() 与 Collections.newSetFromMap()

Java8引入了获取并发Set实现的新方法//Pre-Java-8waytocreateaconcurrentsetSetoldStyle=Collections.newSetFromMap(newConcurrentHashMap());//NewmethodinJava8SetnewStyle=ConcurrentHashMap.newKeySet();有什么理由更喜欢新方法吗?有什么优点/缺点吗? 最佳答案 ConcurrentHashMap.newKeySet()只是比Collections.newSetFromMap(ne

Java 流 : Issue about collect to a Map<String, 对象>

我遇到了一个问题:我已经创建了这个流,我需要映射到Map:privateMapcollectArguments(JoinPointpoint){CodeSignaturesignature=(CodeSignature)point.getSignature();String[]argNames=signature.getParameterNames();Object[]args=point.getArgs();returnIntStream.range(0,args.length).collect(Collectors.toMap(param->argNames[param],para

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