tags:

views:

237

answers:

2

Hi,

I have an arraylist set up. I have input instuctions set up too, so that the user can enter one string, then one integer, then one string (the first name, the age, and the last name).

I need to sort the arraylist by the last name. The code I have entered so far is all under the main method:-

public static void main(String[] args) {
Name Name[] = new Name[50];
int count = 0;

for (int i=0; i<50; i++)
  NewName[i] = new Name();

//ADD NEW TO ARRAYLIST NAME
String FName = JOptionPane.showInputDialog("first name");
int age = Integer.parseInt(JOptionPane.showInputDialog("age"));
String LName = JOptionPane.showInputDialog("last name");
          NewName[count] = new Name(FName, age, LName);
count = count++;
}

//ITEMS SORT BY LAST NAME
//CODE FOR SORT GOES HERE
+4  A: 

Take a look at Comparable, Comparator, Arrays.sort and Collections.sort

import java.util.Arrays;


class Name implements Comparable<Name> {

    private String lastName;
    //Other fields

    public Name(String lastName){
        this.lastName = lastName;
    }

    public int compareTo(Name o) {
        //Null checks etc
        return lastName.compareTo(o.lastName);
    }
    public String getLastName(){
        return lastName;
    }
    //Getter and setter methods
}

public class Test{
    public static void main(String[] args) {
        Name[] arr = new Name[]{new Name("AAC"), new Name("AAD"), new Name("AAA"),new Name("ABC"), new Name("AADDE")};
        Arrays.sort(arr);
        for(Name nm:arr){
            System.out.println(nm.getLastName());
        }
    }
}
saugata
+1 for Arrays.sort
Phobia
I have tried this, and it still doesn't work...
Computeristic
Added code, though this is a very basic concept for Java.
saugata
The null checks are actually not required here (or when instanceof is used).
Helper Method
@Helper Method Are you referring to the compareTo method? Actually it is, the parameter could be null.
saugata
@sauguta Sry, you're right, I thought String's compareTo() method would do the null check.
Helper Method
+3  A: 

This isn't meant to be offensive but I would suggest you learn the basics before you move on to Swing.

Helper Method
I know the basics, it's just the arrays I am having trouble with...
Computeristic
I think Helper is suggesting arrays are the basics. I'd tend to agree.
Carl