-2

我需要按字母顺序打印 Java 的包和子包。我这样做了:

导入 java.util.Arrays;

公共类 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(); 在这里不工作?

先感谢您!

4

1 回答 1

0

这可能是因为您在打印出元素后对数组进行排序。

尝试以这种方式排列您的代码

Arrays.sort(packageNames);
for (Package pack:packs){
         System.out.println(pack.getName());
}

或者,您可以将数组转储到 TreeSet 并遍历它 vis tr

TreeSet<Package> packages = new TreeSet<Package>(Arrays.asList(packageNames));

然后

for (Package pack:packages){
    System.out.println(pack.getName());
}

请注意,这将从您的阵列中删除重复的包。

于 2013-02-18T12:48:19.603 回答