我想定义成千上万的treeset。我怎么能用某种循环来做到这一点?我已经尝试过下面的代码但是它给了我"重复的局部变量"错误
//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();
}
编辑:我猜需要更多解释。我想创建不同名称的不同集合,其中每个名称都是列表中的一些字符串,例如杰森,杰克......
答案 0 :(得分:0)
你有两个名为Server.MapPath("."), Server.MapPath(null), Server.MapPath("") will return the physical directory of the file being executed
Server.MapPath("..") will return the parent directory
Server.MapPath("~") will return the physical path to the root of the application
的变量for for循环。在代码中进行以下更改 -
nameofset
答案 1 :(得分:0)
您必须考虑要在其中存储数千个树集的数据结构。例如地图:
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");
答案 2 :(得分:0)
您必须将TreeSet
对象创建和分配给变量分成两个单独的步骤。在循环中,您只能创建对象,但不要一次又一次地尝试分配给相同的引用变量 - 显然,这是一个错误。您需要ArrayList<TreeSet<String>>
来保存这些对象。稍后,您可以将这些对象分配给您希望的任何引用。
此外,当您可以通过ArrayList
的索引访问这些对象并根据需要分配给任何引用时,还不清楚为什么需要使用不同的变量名称。
答案 3 :(得分:0)
您有以下代码:
String nameofset = namesarray[z];
TreeSet<String> nameofset = new TreeSet();
您创建两个名称相同的变量。 TreeSet
对象的定义抛出异常,因为在它上面使用了局部变量名。您应该使用不同的名称,我想知道您将对String
变量做什么,因为它在其范围内未使用。