sách gpt4 ai đã đi

java - 将值放入 LinkedHashMap 多维

In lại 作者:行者123 更新时间:2023-12-02 06:16:38 26 4
mua khóa gpt4 Nike

我有以下结构:

import java.util.LinkedHashMap;
...
LinkedHashMap level0 = new LinkedHashMap();
LinkedHashMap level1 = new LinkedHashMap();
LinkedHashMap level2 = new LinkedHashMap();
LinkedHashMap level3 = new LinkedHashMap();

level1.put("level2", level2);
level2.put("level2", level3);

level0.put("level1", level1);

System.out.println(level0);

Đầu ra:

{
level1={
level2={}
}
}

我需要通过“路径”(或其他东西)设置一个值,如下所示:

MapThisObject example = new MapThisObject(level0);
example.putValue("level1.level2", "string", "test");
example.putValue("level1.level2", "int", 1);
example.putValue("level1.level2", "object", new LinkedHashMap());

System.out.println(example.result());
/*output:
{
level1={
level2={
string="test",
int=1,
Object={}
}
}
}
*/

换句话说,有可能通过“路径”(如 Xpath)为“多维对象”放置或设置值?

1 Câu trả lời

一个简单的例子

public static void set(Map map, String path, Object value) {
String[] parts = path.split("\\.");
for(int i = 0; i < parts.length-1 ; i++) {
String key = parts[i];
Map map2 = (Map) map.get(key);
if (map2 == null) {
map.put(key, map2 = new LinkedHashMap());
}
map = map2;
}
map.put(parts[parts.length - 1], value);
}

set(example, "level1.level2.string", "test");
set(example, "level1.level2.int", 1);

关于java - 将值放入 LinkedHashMap 多维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389474/

26 4 0
Bài viết được đề xuất: java - TYPE_INT_ARGB 图像未正确显示
Bài viết được đề xuất: assembly - 了解程序集数据段x86 MASM
Bài viết được đề xuất: asp.net - ViewBag为什么叫ViewBag?
Bài viết được đề xuất: java - 尝试读取文件并将其值添加到 JFrame 时出现问题
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com