gpt4 book ai didi

java - 具有动态列的数据结构

转载 作者:行者123 更新时间:2023-12-01 16:21:25 24 4
gpt4 key购买 nike

我有以下场景,其中 3 个数组是分层的 - List#3 保存 List#2 的子项,List#2 保存 List#1 的子项 - 我想要一个包含 List#1、List#2 的最终列表, List#3 - 每个列表都由 (id, child_id) 组成,因此 List#1 和 List#2 之间的链接将为:List1.child_id = List2.id 依此类推:List2.child_id = List3.id

  1. 键值列表#1:

    [(id=1,child_id=5), (id=2,child_id=6), (id=3,child_id=7), ...]
  2. 键值列表#2:

    [(id=5,child_id=10), (id=6,child_id=11), (id=7,child_id=12), ...]
  3. 键值列表#3:

    [(id=10,child_id=34), (id=11,child_id=35), (id=12,child_id=36), ...]

我需要一个数据集,它根据 id=child_id 组合了 3 个数据集,如下所示:

[(id=1, child_id_1=5, child_id_2=10,child_id_3=34), (id=2, child_id_1=6, 
child_id_2=11,child_id_3=35), (id=3, child_id_1=7, child_id_2=12,child_id_3=36), ...]

如何在 Java 中实现此目的?此外,列表的数量是动态的,这意味着 > 3 个列表。

最佳答案

我创建了一个类数据来保存您想要的值,请参阅下面的代码,

    public static void main(String[] args) throws Exception {
Map<Integer, Integer> map1 = new HashMap<Integer, Integer>();
map1.put(1, 5);
map1.put(2, 6);
map1.put(3, 7);

Map<Integer, Integer> map2 = new HashMap<Integer, Integer>();
map2.put(5, 10);
map2.put(6, 11);
map2.put(7, 12);

Map<Integer, Integer> map3 = new HashMap<Integer, Integer>();
map3.put(10, 34);
map3.put(11, 35);
map3.put(12, 36);

List<Data> datas = new ArrayList<Data>();
for (Map.Entry<Integer, Integer> entry : map1.entrySet()) {
Data data = new Data();
data.key = entry.getKey();
int value = entry.getValue();
data.col_1 = value;
data.col_2 = map2.get(value);
data.col_3 = map3.get(data.col_2);
datas.add(data);
}
System.out.println(datas);
}
}

class Data{
int key;
int col_1;
int col_2;
int col_3;
@Override
public String toString() {
return "Data [key=" + key + ", child_1=" + col_1 + ", child_2=" + col_2 + ", child_3=" + col_3 + "]\n";
}
}

输出

[Data [key=1, child_1=5, child_2=10, child_3=34]
, Data [key=2, child_1=6, child_2=11, child_3=35]
, Data [key=3, child_1=7, child_2=12, child_3=36]
]

关于java - 具有动态列的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62264085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com