Java字符串数组

app*_*krb 2 java sorting android

我有两个阵列

String a[]={"11","02","43","24","05","86","37","28","29","10"};
String b[]={"a","c","f","q","w","x","z","x","s","r"};
Run Code Online (Sandbox Code Playgroud)

我想按升序对数组a []进行排序

结果可能会喜欢

String a[]={"02","05","10","11","24","28","29","37","43","86"};
String b[]={"c","w","r","a","q","x","s","z","f","x"};
Run Code Online (Sandbox Code Playgroud)

如何使用java获得上面的结果?java中可用的任何排序方法?

And*_*ell 6

最简单的方法是以某种方式将2个数据链接在一起,而不是将它们放在单独的数组中.很多人都建议使用一张效果很好的地图.根据您要完成的操作,我还会考虑一个包含2个实现Comparable的变量的新类.如果没有给Collections.sort使用不同的Comparator,则Comparable定义类在Collection(在本例中为数组)时的自然顺序.它看起来像这样:

    public class Data implements Comparable{ 
    private String stringOne;
    private String stringTwo;

    @Override
    public int compareTo(Object obj) {
        stringOne.compareTo((String)obj);
    }
Run Code Online (Sandbox Code Playgroud)

别的地方叫:

    Collections.sort(locationOfDataCollection);
Run Code Online (Sandbox Code Playgroud)

然后,您可以创建一个数据集合,并使用getter方法访问另一个String.如果在某些情况下需要用新的比较器覆盖自然顺序(例如按stringTwo排序),这种实现也会使将来变得简单(参见策略设计).