小编Nik*_*lay的帖子

用流映射的Java 8列表

我有一个List<Item>集合.我需要将其转换Map<Integer, Item> 为映射的键必须是集合中项的索引.我无法弄清楚如何使用流来做到这一点.就像是:

items.stream().collect(Collectors.toMap(...));
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

由于这个问题被确定为可能重复,我需要补充一点,我的具体问题是 - 如何获取列表中项目的位置并将其作为键值

java collections dictionary java-8 java-stream

49
推荐指数
4
解决办法
7万
查看次数

Force Maven仅使用第一级依赖项

我有一个Maven Java项目.在编译项目时,我不希望通过一系列子依赖项偶然满足我的项目依赖项.在构建最终的战争时,当maven必须检查所有使用的依赖项并为战争添加必要的lib时,这是可以的,但是在编译代码时我想确保只使用直接依赖项.为什么?

假设我有两个依赖项:

<dependency>
    <groupId>com.package</groupId>
    <artifactId>module-1</artifactId>
</dependency>

<dependency>
    <groupId>com.package</groupId>
    <artifactId>module-2</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

对于我们的项目模块-1和模块-2提供完全不同的目的,但在模块-2的依赖树中的某处,使用模块-1.我删除了module-1依赖项,但是maven继续构建我的项目而没有编译错误,因为它解决了module-2子依赖项中的module-1.这种变化没有被注意到.

一段时间后我们决定删除module-2,因为我们不需要它.奇怪的是,我们不能再使用从模块1导入的编译类,并且没有连接到模块2逻辑.

这是一个简单的案例,但在大项目中,这可能会造成相当大的依赖性.

java dependencies maven

5
推荐指数
1
解决办法
3977
查看次数