Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java String Array

i have two array

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

i want to sort array a[] in ascending order

and the result may like

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

how can i get result like above using java? any sorting method available in java?

like image 498
appukrb Avatar asked Feb 21 '26 02:02

appukrb


2 Answers

The easiest way would be to link the 2 pieces of data together in some way instead of having them in separate arrays. Many people have suggested a Map which would work great. Depending on exactly what you are trying to do, I would also consider a new class with 2 variables that implement Comparable. Comparable defines the natural ordering of a class when it is in a Collection (in this instance an array) if Collections.sort is not given a different Comparator to use. It would look something like this:

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

    @Override
    public int compareTo(Object obj) {
        stringOne.compareTo((String)obj);
    }

Somewhere else call:

    Collections.sort(locationOfDataCollection);

You could then create one Collection of Data and access the other String with a getter method. This implementation also would make it simple in future (see Strategy Design) if in some instances the natural order needed to be overridden with a new Comparator (e.g. sort by stringTwo).

like image 134
Andrew Campbell Avatar answered Feb 22 '26 16:02

Andrew Campbell


Since you have 2 related sets of data, I would either link these via a Pair<String,String> type object and then into a List<Pair>, or put them into a Map<String,String>.

Perhaps the first solution is more intuitive e.g.

public class Pair implements Comparable<Pair> {
   public String first;
   public String second;

   // equals/hashcode etc.
}

Once they're in a standard Java collection, numerous solutions exist for sorting these. e.g. in the above Pair I've implemented the Comparable<T> interface which the Collections sorting mechanisms will make use of.

like image 24
Brian Agnew Avatar answered Feb 22 '26 14:02

Brian Agnew



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!