Java包和子包按字母顺序打印

时间:2013-02-18 12:35:53

标签: java sorting packages

我需要按字母顺序打印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();在这里不起作用?

提前谢谢!

1 个答案:

答案 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());
}

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