如何在 java 中使用循环定义多个集合?
How to define multiple set using loop in java?
我想定义数千个 treeset.How 我可以使用某种循环来做到这一点吗?我试过下面的代码,但它给了我 "Duplicate local variable" 错误
//String names_array[]={jason,jack,katia,michael......}lots of name here
for (int z = 0; z < 2000; z++) {
String nameofset = namesarray[z];
TreeSet<String> nameofset = new TreeSet();
}
编辑:需要更多解释我guess.I想创建具有不同名称的不同集合,其中每个名称都是列表中的一些字符串,例如 jason、jack...
for 循环中有两个名为 nameofset
的变量。在您的代码中进行以下更改 -
for(int z=0;z<2000;z++){
String nameString =namesarray[z];
TreeSet<String> nameofset = new TreeSet();
}
您必须考虑要在其中存储数千个树集的数据结构。例如地图:
Map<String, Set<String>> namedSets = new HashMap<>();
String[] names = { "jason", "jack", "katia", "michael"};
for(String name : names) {
namedSets.put(name , new TreeSet<String>());
}
获取特定集合:
Set<String> jacksSet = namedSets.get("jack");
您必须将 TreeSet
对象创建和分配给变量分成两个单独的步骤。在循环中,您只能创建对象,但不要尝试一次又一次地分配给同一个引用变量——显然,这是一个错误。您需要一个 ArrayList<TreeSet<String>>
来保存这些对象。稍后,您可以将这些对象分配给您想要的任何引用。
此外,当您可以通过 ArrayList
中的索引访问这些对象并根据需要分配给任何引用时,还不清楚为什么需要不同的变量名开头。
你有这个代码:
String nameofset = namesarray[z];
TreeSet<String> nameofset = new TreeSet();
您创建了两个同名的变量。 TreeSet
对象的定义抛出异常,因为在它上面使用了局部变量名。您应该使用不同的名称,我想知道您将如何处理 String
变量,因为它在其范围内未被使用。
我想定义数千个 treeset.How 我可以使用某种循环来做到这一点吗?我试过下面的代码,但它给了我 "Duplicate local variable" 错误
//String names_array[]={jason,jack,katia,michael......}lots of name here
for (int z = 0; z < 2000; z++) {
String nameofset = namesarray[z];
TreeSet<String> nameofset = new TreeSet();
}
编辑:需要更多解释我guess.I想创建具有不同名称的不同集合,其中每个名称都是列表中的一些字符串,例如 jason、jack...
for 循环中有两个名为 nameofset
的变量。在您的代码中进行以下更改 -
for(int z=0;z<2000;z++){
String nameString =namesarray[z];
TreeSet<String> nameofset = new TreeSet();
}
您必须考虑要在其中存储数千个树集的数据结构。例如地图:
Map<String, Set<String>> namedSets = new HashMap<>();
String[] names = { "jason", "jack", "katia", "michael"};
for(String name : names) {
namedSets.put(name , new TreeSet<String>());
}
获取特定集合:
Set<String> jacksSet = namedSets.get("jack");
您必须将 TreeSet
对象创建和分配给变量分成两个单独的步骤。在循环中,您只能创建对象,但不要尝试一次又一次地分配给同一个引用变量——显然,这是一个错误。您需要一个 ArrayList<TreeSet<String>>
来保存这些对象。稍后,您可以将这些对象分配给您想要的任何引用。
此外,当您可以通过 ArrayList
中的索引访问这些对象并根据需要分配给任何引用时,还不清楚为什么需要不同的变量名开头。
你有这个代码:
String nameofset = namesarray[z];
TreeSet<String> nameofset = new TreeSet();
您创建了两个同名的变量。 TreeSet
对象的定义抛出异常,因为在它上面使用了局部变量名。您应该使用不同的名称,我想知道您将如何处理 String
变量,因为它在其范围内未被使用。