我想根据现有变量的值创建一个列表名称。例如
double x;
x = 1.23
List<Something> x = new ArrayList<>();
x.add(new Something(Blah, Blah));
当然这告诉我x已经定义了。如何使列表的名称成为现有变量的值?
答案 0 :(得分:1)
你不能。您可以编写一个Map<Double, List<Something>>
,然后执行map.put(x, myList)
,但您无法动态命名变量。
答案 1 :(得分:1)
根据您的注释,您需要“从数据库中迭代多行数据并根据行的值将数据添加到多个列表”,您可以像这样构建for
循环:< / p>
double x = 1.23
Map<Double, List<Something>> map = new HashMap<>();
for (;;) {
List<Something> xValues = null;
if (map.containsKey(x)) {
xValues = map.get(x);
} else {
xValues = new ArrayList<>();
map.put(x, xValues);
}
xValues.add(new Something(Blah, Blah));
}
当然,x = 1.23
的价值可能来自其他集合,也可能来自resultset
。