我有一个List<Item>集合.我需要将其转换Map<Integer, Item>
为映射的键必须是集合中项的索引.我无法弄清楚如何使用流来做到这一点.就像是:
items.stream().collect(Collectors.toMap(...));
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
由于这个问题被确定为可能重复,我需要补充一点,我的具体问题是 - 如何获取列表中项目的位置并将其作为键值
我有一个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逻辑.
这是一个简单的案例,但在大项目中,这可能会造成相当大的依赖性.