如何根据已定义变量的值定义列表名称

时间:2016-03-08 21:11:55

标签: java

我想根据现有变量的值创建一个列表名称。例如

double x;
x = 1.23

List<Something> x = new ArrayList<>();
x.add(new Something(Blah, Blah));

当然这告诉我x已经定义了。如何使列表的名称成为现有变量的值?

2 个答案:

答案 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