问题标签 [apache-commons-collection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
707 浏览

java - 将 BeanPredicate 与 EqualPredicate 进行比较时,common-collections 4.1 导致编译问题

将 commons-collection 从3.2.2升级到4.1后,我在比较 BeanPredicate 和 EqualsPredicate 的集合时遇到问题。BeanPredicate 来自 commons-beanutils jar,EqualsPredicate 来自 commons-collection.jar。

根据最新的 commons-collection jar 4.1 ,EqualsPredicate 构造函数接受参数化类型,如

不是 3.2.2 中的对象

BeanPredicate 没有像<T>它的构造函数那样的参数化类型,这就是为什么我遇到编译问题并且无法在这两个谓词之间建立关系的原因。我看到最新的 commons-beanUtils 1.9.3 BeanPredicate jar 也有 BeanPredicate 构造函数没有参数化。我也尝试输入类型,但它不起作用。如何解决此问题将不胜感激。

0 投票
1 回答
6726 浏览

java - 带有比较器的 Java 8 流过滤器

我想MyObject根据values字段过滤列表。在这种情况下:如果任何值MyObject::getValues小于给定value,则谓词为假。我还没有找到使用 Stream API 的方法,所以我尝试ComparatorPredicateApache. 这是我的尝试:

然而,这会导致:

所以我的问题是为什么会发生 ClassCastException 以及如何解决它和/或如何用其他(更好的?)解决方案解决我的问题?

更新:

关于这个问题的一点更新。第一个问题 ( ClassCastException) 是由我的示例中未包含的代码引起的。解决后它ComparatorPredicate工作正常,所以如果你喜欢它:去吧。但是,我将接受已接受答案的建议,该建议更简单且不涉及使用外部库。特别是因为ComparatorPredicate没有扩展java.util.function.Predicate而是org.apache.commons.collections4.Predicate相反。

0 投票
1 回答
10444 浏览

java - Apache Commons MultiMap 已弃用,我现在应该使用什么?

自 4.1 版以来, Apache Commons 的MultiMap接口及其实现已被弃用。MultiValueMap而且MultiHashMap似乎完全...

我应该使用什么作为替代方案?

0 投票
2 回答
1747 浏览

java - 按键对 Apache Commons MultiValuedMap 进行排序

我想知道如何按键对 Apache Commons MultiValuedMap 进行排序。下面是使用的关键类。

下面的地图是通过迭代SummerDataOracle值构造的。这些值按VssKey对象推送到地图中,如下所示。

我需要在地图中实现顺序。

谢谢

0 投票
1 回答
36 浏览

apache-commons - Apache Commons Collections 是否有 ListValuedTreeMap?

我正在尝试找到 MultiValuedTreeMap 的预构建实现。简而言之,我需要一个键来通过使用列表映射到多个值。然后我需要将每个键存储在一个排序的结构中,我想应该是一个树形图——因此得名。

我发现的最接近的是 ArrayListValuedHashMap:https ://commons.apache.org/proper/commons-collections/javadocs/api-4.4/index.html

但是,我没有看到使用 TreeMap 而不是 HashMap 的版本。

我是 Apache Commons 库的新手,所以如果问题很明显/已经解决,请原谅我。

我也知道我自己可以相对轻松地实现这一点,但如果它已经存在,我不想重新发明轮子。

0 投票
1 回答
127 浏览

java - Apache commons-collections 的 synchronizedList() 和 java.util.Collections.synchronizedList() 之间的区别

java.util.Collections.synchronizedList()Apache commons-collections 的 ListUtils.synchronizedList()之间的任何区别。

有什么理由比另一个更喜欢一个吗?

0 投票
1 回答
55 浏览

java - MultiValuedMap 没有标准的包装器实现

我错过了什么,还是真的没有 Apache 的 new 的默认实现MultiValuedMap可以用来简单地包装提供Map<K, ? extends Collection<V>>

换句话说,我正在寻找现在已弃用的MapUtils.multiValueMap工厂方法的直接替换:没有一个现有的实现能HashSetValuedHashMap满足我的需求,因为我需要IdentifyHashMap用作后端映射

0 投票
0 回答
115 浏览

jsf - java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap 错误,commons-collections-2.1

我在下面使用的项目提到了罐子: commons-collections-2.1.jar myfaces-api-1.1.3.jar myfaces-impl-1.1.3.jar 和 jsf 1.1 版,但收到此错误:

java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap

并且commons-collection jar 在运行时可用。

0 投票
1 回答
537 浏览

java - 将 Guava ListMultimap 转换为 Java 地图

GuavaMultiMap有实现ImmutableListMultimapImmutableSetMultimap. 鉴于我已经创建了一个ImmutableListMultimap<String, Anything>实例,我怎样才能将它转换成一个java.util.Map<String, List<Anything>>

asMap()方法返回 a java.util.Map<String, Collection<Anything>>,但不能强制转换为java.util.Map<String, List<Anything>>

我现在最好的是

但这看起来并不理想。鉴于实例变量的类型为 ListMultimap,难道不应该有一种方便的方法将其表示为Map<..., List>?

Apache commons-collectionsArrayListValuedHashMap也有同样的问题。

0 投票
1 回答
488 浏览

java - Maven 传递依赖 - Commons Collection 版本 3 与 4

我有这样的配置pom.xml

但不幸mvn dependency:tree的是,向我展示了commons-beanutils具有依赖性:commons-collections 3.x:

我不想Common Collection 3在我的代码中,但可能有人错误地使用了这个库中的一个类(而不是Common Collective 4首选版本)。

正如您在依赖关系树中看到的 - 我不能排除 Common Collection 3,因为它已被使用(可能发生java.lang.NoClassDefFoundError)。

问题:

如何保护我的代码库免受 Commons Collection 3 API 的污染?