I would like split to some how split each item in the arry and sort it by Id[1] and then date[2]

Been doing a fair amount of reading and cannot seem to figure this one out.

John,432,2012-03-21 04:32:00 AM
Bob,532,2012-01-01 12:12:00 AM
Mike,932,2012-01-11 11:42:00 AM
Mike,932,2012-05-01 12:13:00 AM
John,1532,2012-01-11 07:32:00 AM

package test;

import java.util.ArrayList;
import java.util.Collections;

public class ArraySort {

     public static void main(String args[])
    ArrayList<String> stringList = new ArrayList<String>();
    stringList.add("Bob,532,2012-01-01 12:12:00 AM");
    stringList.add("John,432,2012-03-21 04:32:00 AM");
    stringList.add("Mike,932,2012-05-01 12:13:00 AM");
    stringList.add("John,2532,2012-01-11 11:42:00 AM");
    stringList.add("Mike,1532,2012-01-11 07:32:00 AM");


    for (int i = 0; i < stringList.size(); i++){
           String item = stringList.get(i);


Recommended Answers

well ... you could create your own class and implement your own comparing rules.

Jump to Post

All 3 Replies

well ... you could create your own class and implement your own comparing rules.

this and this should give you some ideas.

basically , expanding what stultuske already said :

have a class for comparing your values , it will implement comparator (or comparable) . Hence by rules if interface implementation , you have to override the interface's method : compare(T o1, T o2) in case you choose to use comparator.
then , test for the 1st parameter with which you want to order,
if that results in an equality , test for the 2nd parameter.. and so on.

give it a try.

The "Java" way to do this is to create a tiny class with members for name, id, date. Then use the data to create one instance of that class for each line in the input file. Store those in an ArrayList, then sort as per the previous two posts. Because you will have aleady separated the name,id,date values into separate variables, the comparisons wil be easy.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.