java - 如何在 java 中以有效的方式将数组中的元素写入哈希映射?
问题描述
在我的java
代码中,我有一个空的哈希映射:
private Map<String, String> map = new HashMap<>();
我还有一个字符串数组:
String[] array = path.split("/");
此数组可以为 null、空或包含一到三个元素。我需要根据这个数组填充我的哈希映射,但是键应该是硬编码的——我的意思是,对于映射中的第一个值,键应该是one
,对于第二个应该是two
,对于第三个应该是three
。我写了这个算法:
if (array == null || array.length == 0){
LOG.warn("Path is empty");
}
if (array.length == 1){
map.put("one", array[0]);
} else if (array.length == 2) {
map.put("one", array[0]);
map.put("two", array[1]);
} else if (array.length == 3) {
map.put("one", array[0]);
map.put("two", array[1]);
map.put("three", array[2]);
}
但我认为可能有更好(或绝对更漂亮)的处理方式。你能帮我解决这个问题吗?
解决方案
您可以在下面的代码之前检查数组的空值
String[] keys = {"one", "two", "string"};
for(int = 0; i < array.length;i++){
map.put(keys[i], array[i]);
}
推荐阅读
- bash - 如何在带有密码提示的bash脚本中检查路由器的SSH登录状态
- android - Androidx底部导航栏在可隐藏的导航项上保持突出显示
- ruby-on-rails-5 - 活动管理员编辑器未成功上传表单
- amazon-web-services - CloudWatch Insights 过滤到仅包含查询字符串的主页请求
- pdf - iTextSharp v5 - 如何在内存中连接 PDF?
- excel - 使用 ID 更改重定位多个图像
- r - ggplot2 显着性水平,带星号,调整后的 p 值
- java - Spring-Boot在支持String Array(String [])数据类型的内存数据库中兼容
- clang - 使用 OpenMP 的 Clang 编译的 Python 扩展中的未定义符号
- css - 从 Angular 7 更新后,Angular 9 和样式加载器停止工作