我需要按字母顺序打印Java打包和子包。我这样做了:
import java.util.Arrays;
public class J0602 { public static void main(String args []){
Package[] packs = Package.getPackages();
String[] packageNames =new String[packs.length];
int i=0;
for (Package pack:packs){
packageNames[i] = pack.getName();
System.out.println(pack.getName());
i++;
}
Arrays.sort(packageNames);
}
}
..但它不起作用。关于包裹有什么我想念的吗?为什么选择Arrays.sort();在这里不起作用?
提前谢谢!
答案 0 :(得分:0)
可能是因为您在打印完元素后对阵列进行排序。
尝试以这种方式安排代码
Arrays.sort(packageNames);
for (Package pack:packs){
System.out.println(pack.getName());
}
或者,您可以将您的数组转储到TreeSet中并通过它进行迭代 TR
TreeSet<Package> packages = new TreeSet<Package>(Arrays.asList(packageNames));
然后
for (Package pack:packages){
System.out.println(pack.getName());
}
请注意,这将从您的阵列中删除重复的包。