Sorting date using Comparator.

Hi frnds,
I have a problem sorting a date using comparator Interface. To the compare method I am passing Objects, which contains values retrieved from bean.
I have hyperlinks for all the fields, upon clicking am able to sort all the fields except the date:
The format of date is MM/DD/YYYY. It is sorting only taking month into consideration. I want the date to be sorted completely taking into consideration the complete date.
Kindly help me in this regards.
Below is the code listed:
public int compare(Object vendoremployee1, Object vendoremployee2){
          String strSowTitle1 = ((CVendorEmployees) vendoremployee1).getSowTitle().toUpperCase();
          String strSowNum1 = ((CVendorEmployees) vendoremployee1).getSowNumber().toUpperCase();
          String lastName1 = ((CVendorEmployees) vendoremployee1).getLastName().toUpperCase();
          String strCreatedDate1 = ((CVendorEmployees) vendoremployee1).getCreatedDate().toUpperCase();
          String strSowTitle2 = ((CVendorEmployees) vendoremployee2).getSowTitle().toUpperCase();
          String strSowNum2 = ((CVendorEmployees) vendoremployee2).getSowNumber().toUpperCase();
          String lastName2 = ((CVendorEmployees) vendoremployee2).getLastName().toUpperCase();
          String strCreatedDate2 = ((CVendorEmployees) vendoremployee2).getCreatedDate().toUpperCase();
// How do i sort
strCreatedDate1.compareTo(strCreatedDate2);Thanks

II am assuming that you are using either the Collections.sort() method, passing in a Vector of your objects or the Arrays.sort() method passing in an array of your objects. Either way your class definition for your object must implement Comparable. Then you have to implement the compareTo(Object o) method. Inside this method you can setup the sort any way you want. If you want the object to sort by the date member, the easiest way to accomplish the sort is to get the milliseconds from EPOC. Then you can sort either ascending or descending.
Example code: forgive the formatting, cut and paste it into an editor
The example has the data member as a Long object.
Hope this is helpful.
public int compareTo( Object o ) throws ClassCastException
          YourClassNameHere obj;
          if( o instanceof YourClassNameHere)
               obj = (YourClassNameHere) o;
          else
               throw new ClassCastException("Specified Object o is not of type YourClassNameHere." );
           //Only if these are not primitives
          if( this.getYourDatamember() != null && obj.getYourDatamember() != null) 
                    if(this. getYourDatamember().longValue() < obj. getYourDatamember().longValue())
                          return -1;
                    else if( this. getYourDatamember().longValue() > obj.getYourDatamember().longValue() )
                         return 1;
                    else
                         return 0;
          else if(this.getYourDatamember != null && obj.getYourDatamember() == null)
               return -1;
          else if(this.getYourDatamember == null && obj.getYourDatamember() != null)
               return 1;
          else
               return 0;
     }

Similar Messages

  • Help... How to sort booleans using Comparable?

    Hi friends...
    I need to sort booleans using Comparable... The problem is, the compiler tells me it needs Objects, not booleans...
    Does somebody has an idea what to do, knowing I must use Comparable?
    ThanX for your help...

    Hi Abuse...
    I know it sounds a bit dumb... :-)
    I need to make two different blocks of lines, and with boolean rendered as checkboxes, I can change the size of these blocks by getting some lines true, other false. By using some columns of checkboxes, you can really do great sorting stuff...
    C ya...

  • Sorting Objects Using Comparator

    Alright,
    I have an ArrayList of Audio Objects:
    public Audio(String title, String author, String genre, int year)
              this.title = title;
              this.author = author;
              this.genre = genre;
              this.year = year;
         }Now, according to User Input you can sort the Objects either by Title Ascending/Descending, Author Ascend/Descend etc.
    Now I am at a loss to how to define the actual Comparator...
    public int compare(Audio a, Audio b)
              if(a.getTitle().compareTo(b.getTitle()) < 0)
                   return -1;
              if(a.getTitle().compareTo(b.getTitle()) > 0)
                   return 1;
              return 0;
         }(Is that correct?)
    Would I need a separate Comparator interface for each sort? Then all I need is to use the Collections.sort() method yes?
    I appreciate any comments and feedback. Thank you.

    Now I am at a loss to how to define the actual Comparator...Should work but you can simplfy the coding and just use:
    return a.getTitle().compareTo(b.getTitle());
    Would I need a separate Comparator interface for each sort? Yes.
    Then all I need is to use the Collections.sort() method Yes
    I appreciate any comments and feedbackWhat I fail to understand is why you wouldn't create a simple test class to see if you understand what you are doing. Why post a question and wait hours hoping someone answers the question? We learn by our successes and mistakes.
    Generally, try something first, then if it doesn't work ask a question. That way you have the code to post so we can see what you might be doing wrong.
    Here is a simple demo of what you are attempting to do:
    http://forum.java.sun.com/thread.jspa?forumID=31&threadID=598401

  • LinkedList, sort method with Comparable class

    I have created my own LinkedList class; named Linked (empty list) and LinkedNode. One of the method is sort() that use Comparable class. My problem is when I use my Linked class in my Library class (that uses Linked<Book> list = new Linked<Book>();) I face problem and the methods throw excpetion, and I discovered that this excpetion is from Comparable class.
    The sort() method in Linked class:
    public Linked<E> sort(){
              Linked<E> newList = new Linked<E>();
              System.out.println("Here is your prob");
              Comparable h = (Comparable)head;// head +compareTo
              System.out.println("Here is your prob");
              Linked<E> less = new Linked<E>();
              Linked<E> more = new Linked<E>();
              for(Linked<E> l = tail; !l.empty(); l=l.tail() ){
                   if(h.compareTo(l.head())>0)
                        less=less.add(l.head());
                   else
                        more=more.add(l.head());
              less=less.sort();
              more=more.sort();
              newList=less.join(more.add(head));
              return newList;
         }The sortCollection method in Library class:
    public void sortCollection()throws NullPointerException{
    list.sort();  } Also, I want to do my own Comparable class that switch between different sort modes.
    Hope my question is clear.
    Regards,

    The exception is
    java.lang.ClassCastException: Library.Book
         at Library.LinkedNode.sort(LinkedNode.java:58)
         at Library.BookLibrary.sortCollection(BookLibrary.java:145)
         at GUI.Projecc.actionPerformed(Projecc.java:351)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

  • Performance - using JDBC call with 'order by' vs sorting data on app server

    Hello! I need some valid thoughts on the performance of using a JDBC call versus processing information on the application server.
    Here is the somewhat simplified scenario:
    I need to retrieve customer information (name, e-mail, telephone), display it in HTML format and then be able to redisplay it in a different order. For example, initially the list would be displayed sorted by last name, but then a user might choose to sort it by e-mail address. Initial call to DB uses 'order by' in the SQL stmt to get me the initial ordering by last name. Results are stored in 2D array. However, when a user selects a different sort I have two options:
    1) just make another call to the DB with a different order by clause. This means I need to create a DB connection, connect to DB, retrieve the results and read them from result set into a 2 dimensional array
    2) re-sort data in the 2D array populated during the initial call. This means I need to use java.util.Arrays.sort(my_2D_resultsArray, my_custom_comparator)
    Question is : which is more efficient? Number of entries retrieved can be anywhere from 0 to a few thousands (depending on other filters such as customer's country). My feeling is that option umber 2 is better, but I would like to get your opinion.
    Thank you!

    Good points! Thanks! I ran a test (see code below) and it takes less than a second to sort 2000 Strings and 2000 nulls. The only thing I ran the test at a UNIX prompt as oppose to from within app server (Weblogic). I expect the speed to be compatible though. Do you think that test was valid and tells us that sorting on the app server is probably faster than doing another SQL query?
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.util.Arrays.*;
    public class Test {
      public static void main(String[] args) throws Exception {
        Test test = new Test();
        test.testSortingPerformance();
      public void testSortingPerformance() {
        Object[] objArray2 = new Object[]{};
        Vector v = new Vector();
        Date start, end;
        java.util.Random rd = new java.util.Random(2000);
        for (int i = 0; i < 2000; i++){
          v.add(new Object[]{new String("" + rd.nextInt())});
          v.add(new Object[]{null});
        objArray2 = v.toArray();
        Object[] innerObjArray2 = new Object[]{};
        MyComparator2 myComp = new MyComparator2();
        start = new Date();
        java.util.Arrays.sort(objArray2, myComp);
        end = new Date();
        for (int i = 0; i < objArray2.length; i++) {
          System.out.println();
          innerObjArray2 = (Object[])objArray2;
    for (int j = 0; j < innerObjArray2.length; j++) {
    System.out.print(innerObjArray2[j] + " ");
    System.out.println(v.size());
    System.out.println("Start " + start + " End " + end);
    import java.util.*;
    public class MyComparator2
    implements Comparator {
    //position in the inner array to use for comparison
    private int position = 0;
    //default empty constructor
    public MyComparator2() {
    //implement compare method
    public int compare(Object o1, Object o2) {
    Object[] strAr1 = (Object[]) o1;
    Object[] strAr2 = (Object[]) o2;
    if (strAr1[0] == null){
    if (strAr2[0] == null){
    return 0;
    else{
    return -1;
    else if (strAr2[0] == null){
    return 1;
    return ( (String) strAr1[0]).compareTo( (String) strAr2[0]);

  • Use drag and drop to sort data in report

    Hello!
    I found a good description to sort data in a Tabular Form per drag and drop.

    Here is the url: Read Article - Drag &amp;amp; Drop tabular form rows
    It works fine if one follow the hint from Baki (For apex 4.2 one have to adapt a css class).
    Afterwards I tried the same with an Interactive Report. It nearly works.
    I once again had to adapt a css class.
    I used the
    apexir_WORKSHEET_DATA
    class instead of the
    uReportStandard
    in the JavaScript for the Interactive Report.
    Everything went fine. Except the "Save the Thing to the DB" issiu did not work.
    The following code do not work (the "APEX_APPLICATION.G_FROWID.COUNT" is allways 0):
    FOR i IN 1 .. APEX_APPLICATION.G_FROWID.COUNT 
    LOOP
    UPDATE emp SET sort_order = i WHERE rowid = APEX_APPLICATION.G_FROWID(i);
    END LOOP;
    Does anybody know why?
    Best thanks,
    Ilb

  • How do I sort data in columns using Pages

    How do I sort data in columns (alphabetically) using Pages?

    If you are referring to text or numbers in a column (not table), then get the free Service plug-in WordService, from Devon Technologies. Put it in the
    /Users/yourlogin/Library/Services folder location.
    Select your data to be sorted. From the Pages menu > Services > Sort Ascending will do the trick. This will work with Pages ’09 and Pages v5.2 or later, as well as Apple Mail, TextEdit, etc.
    The WordService files include a PDF (Read Me) that describes the services included with the package.
    The Service items will only appear in the Services submenu when you have selected your data prior to sort. If these WordService items do not appear in the Services menu as they should per the preceding sentence, then you will need to enable them.
    System Preferences > Keyboard > Shortcuts > Services. Scroll through the right hand list of services until you encounter Sort Ascending and ensure that it is selected.
    If you were referring to sorting a column of data in a table:
    Pages ’09
    Select all cells containing your unordered data. In the Table Inspector, under Edit Rows & Columns, choose Sort Ascending.
    Pages v5.2
    Select cells as before. In the Table heading (A, B, C, etc.) when you roll over the letter, a down-arrow appears. Click, and choose Sort Ascending from the drop down menu.

  • Sort column by without case sensitive  using Comparator interface

    Hello,
    When i sorted my values of a column in a table it was showing all sorted upper case letters at top rows and all sorted lower case letters on bottom. So i would like to sort values without case sensitive order. Like. A, a, B, b, C, c....
    I am using Collection class to sort vector that contains the values of a column as an object and using Comparator interface to sort the values of a column in either ascending and descending order. It facilitates to compare two objects like.
    <class> Collections.sort(<Vector contains values of column to be sort>, <Comparator interface>);
    and in interface it compares two objects ((Comparable) object).compareTo(object);
    Now Let's suppose i have three values say Z, A, a to sort then this interface sorted in ascending order like A, Z, a
    but the accepted was A, a, Z. So how can i get this sequence. I would like to sort the values of a column without case sensitive manner.
    Thanks
    Ashish Pancholi
    Edited by: A.Pancholi on Dec 29, 2008 1:36 PM

    [http://java.sun.com/javase/6/docs/api/java/lang/String.html#CASE_INSENSITIVE_ORDER]

  • How to compare dates using javascript?

    Hi,
    I have to compare dates using javascript. The dates are in format "mm/dd/yy" for eg "10/09/06".
    I have written a script to compare the dates but the problem I 'm facing is with the year.
    For example if I compare "10/09/06" with "10/04/98", then "10/04/98" is coming out to be greater than "10/09/06" because it is considering year "98" to be greater than "06".
    Please advice/suggest.
    Thanks in advance...

    Dude, you're here in a Java forum, not in a Javascript forum. Those are two entirely different languages.
    The answer in Java is to use java.text.SimpleDateFormat to convert String to Date and use java.util.Date and/or java.util.Calendar to compare dates.

  • Sort array list and using comparable

    With the following code I would like to setup a score object for the current player.
    Change it to a string(Is it correct to say parse it to a string type)
    Then add it to the arraylist.
    So I can sort the array list according to the string size.
    That's why I have the variables in that order.
    So if 3 players have the same amount of guesses, they can be positioned on the high score list according to their gameTime.
    //create score object
                   Score currentScore = new Score(guessCount, gameTime, name);
                   String currentScoreToString = currentScore.toString();
                   //add score to arrayList
                   scores.add(currentScoreToString);So the error message says " The method add(Score) in the type arrayList <Score> is not applicable for the arguments(string)"
    Now, I understand that, I would like to know if there is another way to achieve what I am trying to do.
    Is the string idea I am trying here possible? is it practical or should I use comparable?
    I have looked at comparable, but I don't get it.
    Will my Score class implement comparable. I am looking at an example with the following code.
    Employee.java
    public class Employee implements Comparable {
        int EmpID;
        String Ename;
        double Sal;
        static int i;
        public Employee() {
            EmpID = i++;
            Ename = "dont know";
            Sal = 0.0;
        public Employee(String ename, double sal) {
            EmpID = i++;
            Ename = ename;
            Sal = sal;
        public String toString() {
            return "EmpID " + EmpID + "\n" + "Ename " + Ename + "\n" + "Sal" + Sal;
        public int compareTo(Object o1) {
            if (this.Sal == ((Employee) o1).Sal)
                return 0;
            else if ((this.Sal) > ((Employee) o1).Sal)
                return 1;
            else
                return -1;
    ComparableDemo.java
    import java.util.*;
    public class ComparableDemo{
        public static void main(String[] args) {
            List ts1 = new ArrayList();
            ts1.add(new Employee ("Tom",40000.00));
            ts1.add(new Employee ("Harry",20000.00));
            ts1.add(new Employee ("Maggie",50000.00));
            ts1.add(new Employee ("Chris",70000.00));
            Collections.sort(ts1);
            Iterator itr = ts1.iterator();
            while(itr.hasNext()){
                Object element = itr.next();
                System.out.println(element + "\n");
    }The thing I don't understand is why it returns 0, 1 or -1(does it have to do with the positioning according to the object is being compared with?)
    What if I only use currentScore in a loop which loops every time the player restarts?
    //create score object
                   Score currentScore = new Score(guessCount, gameTime, name);
                   String currentScoreToString = currentScore.toString();
                   //add score to arrayList
                   scores.add(currentScoreToString);Also why there is a method compareTo, and where is it used?
    Thanks in advance.
    Edited by: Implode on Oct 7, 2009 9:27 AM
    Edited by: Implode on Oct 7, 2009 9:28 AM

    jverd wrote:
    Implode wrote:
    I have to hand in an assignment by Friday, and all I have to do still is write a method to sort the array list. Okay, if you have to write your own sort method, then the links I provided may not be that useful. They show you how to use the sort methods provided by the core API. You COULD still implement Comparable or Comparator. It would just be your sort routine calling it rather than the built-in ones.
    You have two main tasks: 1) Write a method that determines which of a pair of items is "less than" the other, and 2) Figure out a procedure for sorting a list of items.
    The basic idea is this: When you sort, you compare pairs of items, and swap them if they're out of order. The two main parts of sorting are: 1) The rules for determining which item is "less than" another and 2) Determining which pairs of items to compare. When you implement Comparable or create a Comparator, you're doing #1--defining the rules for what makes one object of your class "less than" another. Collections.sort() and other methods in the core API will call your compare() or compareTo() method on pairs of objects to produce a sorted list.
    For instance, if you have a PersonName class that consists of firstName and lastName, then your rules might be, "Compare last names. If they're different, then whichever lastName is less indicates which PersonName object is less. If they're the same, then compare firstNames." This is exactly what we do in many real-life situations. And of course the "compare lastName" and "compare firstName" steps have their own rules, which are implemented by String's compareTo method, and which basically say, "compare char by char until there's a difference or one string runs out of chars."
    Completely independent of the rules for comparing two items is the algorithm for which items get compared and possibly swapped. So, if you have 10 Whatsits (W1 through W10) in a row, and you're asked to sort them, you might do something like this:
    Compare the current W1 to each of W2 through W10 (call the current one being compared Wn). If any of them are less than W1, swap that Wn with W1 and continue on, comparing the new W1 to W(n+1) (that is, swap them, and then compare the new first item to the next one after where you just swapped.)
    Once we reach the end of the list, the item in position 1 is the "smallest".
    Now repeat the process, comparing W2 to W3 through W10, then W3 to W4 through W10, etc. After N steps, the first N positions have the correct Whatsit.
    Do you see how the comparison rules are totally independent of the algorithm we use to determine which items to compare? You can define one set of comparison rules ("which item is less?") for Whatsits, another for Strings, another for Integers, and use the same sorting algorithm on any of those types of items, as long as you use the appropriate comparison rules.Thanks ;)
    massive help
    I understand that now, but I am clueless on how to implement it.
    Edited by: Implode on Oct 7, 2009 10:56 AM

  • Using Comparator to sort an array

    I didn't undersatnd why a comparator is used for sorting an arry in ascending order
    For descending also i didn't understand the logic it follows
    I have a program which works for both asc and desc using comparator
    import java.io.*;
    import java.util.*;
         class Ascend implements Comparator<Integer>
              public int compare(Integer i1, Integer i2)
                   return i1.compareTo(i2);
         class Descend implements Comparator<Integer>
              public int compare(Integer i1, Integer i2)
                   return i2.compareTo(i1);
         public class ArrayDemo {
         public static void main(String[] args) throws Exception
              BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              System.out.println("How many Elements");
              int size = Integer.parseInt(br.readLine());
              Integer[] arr = new Integer[size];
              for(int i=0 ;i<size;i++)
                   System.out.println("Enter "+(i+1)+"th element");
                   arr=Integer.parseInt(br.readLine());     
              Arrays.sort(arr, new Ascend());
              System.out.println("The sorted array in Ascending order is:");
              display(arr);
              Arrays.sort(arr, new Descend());
              System.out.println("The sorted array in Descending order is:");
              display(arr);
         static void display(Integer[] a)
              for(Integer i:a)
                   System.out.print(i+"\t");
                   System.out.println("");
    can anyone explain
    1 why do we are passing an object of Ascend class(code was there in above program) to Arrays.sort() method
    2. what will be retruned by that object
    3 why do we are passing an object of Descend class(code was there in above program) to Arrays.sort() method
    4. what will be retruned by that object
    5 We can sort the array in ascending simply by using Arrays.sort(arr) method directly, then what was usage of Ascend class
    If I am wrong in understating the code of the above pls correct me and tell me the actual usage of Comparator<T> interfance and its method compare()
    Pls....

    camickr wrote:
    Don't forget to use the Code Formatting Tags so the posted code retains its original formatting. That is done by selecting the code and then clicking on the "Code" button above the question input area.am sorry!! pls find the code and try to execute it. It works fine in sorting
    import java.io.*;
    import java.util.*;
         class Ascend implements Comparator<Integer>
              public int compare(Integer i1, Integer i2)
                   return i1.compareTo(i2);
         class Descend implements Comparator<Integer>
              public int compare(Integer i1, Integer i2)
                   return i2.compareTo(i1);
         public class ArrayDemo {
         public static void main(String[] args) throws Exception
              BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              System.out.println("How many Elements");
              int size = Integer.parseInt(br.readLine());
              Integer[] arr = new Integer[size];
              for(int i=0 ;i<size;i++)
                   System.out.println("Enter "+(i+1)+"th element");
                   arr=Integer.parseInt(br.readLine());     
              Arrays.sort(arr, new Ascend());
              System.out.println("The sorted array in Ascending order is:");
              display(arr);
              Arrays.sort(arr, new Descend());
              System.out.println("The sorted array in Descending order is:");
              display(arr);
         static void display(Integer[] a)
              for(Integer i:a)
                   System.out.print(i+"\t");
                   System.out.println("");
    Can u explain the below
    what happens actually when Arrays.sort(arr,new Descend() ) is executed

  • Need help in using Comparator

    hi,
    I have a list of objects in that there is a field called lastModifiedDate.
    I have to sort the list on the basis of this filed.
    I m trying to sort the list using Comparator, also converting the date field in long. But I m getting back the list, in that entries are sorted but duplicates though the original list is having unique values.
    I have used the code as follows:
    public int compare(Object arg0, Object arg1) {
    if (((((ComparatorEntity) arg0).getDate()) - (((ComparatorEntity) arg1).getDate())) < 0) {
         return 1 ;
    else {
         return 0 ;
    please help me
    Thanx in advance.
    Abhishek

    Well, your Comparator is wrong because it never returns -1. That won't cause it to insert additional elements though. I'd suggest you print both the list and its size, both before and after sorting.
    Also, if you put the -1 return value in following the pattern you've started, the list will be sorted in reverse order. That may be what you want, but I thought I'd point it out in case it's not.
    When you post code, please use [code] and [/code] tags as described in Formatting Help on the message entry page. It makes it much easier to read.

  • Dynamically load content by date using xml

    i would like to load content by date using xml. meaning if i
    have 5 upcoming social events listed, i want them to dynamically
    drop off from my webpage as the event date passes. i would like to
    use the built in spry xml dataset functionality, but don't have to.
    i can't seem to find a way to get the server date and then compare
    it to a date in a xml node. this seems simple, but i can't seem to
    find a tutorial that does not get crazy with all kinds of
    code.

    Have the column headings (which the user clicks to sort by
    that column) as
    links back to the main page, with the sort as a url parameter
    eg
    www.mysite.com/mypage.php?sort=name
    www.mysite.com/mypage.php?sort=date
    etc
    Then in your recordset, change the code from
    $sql = "SELECT * FROM table ";
    to
    switch($_GET['sort']){
    case "date":
    $sql = "SELECT * FROM table ORDER BY date DESC";
    break;
    case "name":
    $sql = "SELECT * FROM table ORDER BY name DESC";
    break;
    You`ll need to change the above to suit your needs obviously,
    but the above
    shows the principles that you need to use.
    So you use the same page for each sort, but the SQL to
    retrieve the records
    in the order you want changes dynamically.
    Gareth
    http://www.phploginsuite.co.uk/
    PHP Login Suite V2 - 34 Server Behaviors to build a complete
    Login system.

  • Efficent method to sort data from tab delimited text file

    I am currently writing a program to sort through data that was acquired and display it on a graph and some other indicators.  The file is a tab delimited text file with possibly 100,000s of data points.  the current method that I have tried using was that if I wanted all of the data from Oct, I would parse out the month from the timestamp, compare that to the desired month, and add it to the array if it is the same.  Other possible options of sorting are yearly and daily, possibly even hourly.
    The method does work, however it does take some time (up to a minute on a P4 3.6 GHz with 2 gb ram), and most of the other computers are not nearly as fast or with as much memory.  Is there a more efficent method to sorting the data??
    I attached my sorting vi as well as a sample data file.
    thanks for the advice.  It is saved in LV8.0.1
    Kenny
    Kenny
    Attachments:
    data sort.zip ‏84 KB
    oven1.txt ‏21 KB

    First of all, "sorting" has usually a different meaning (Sorting and numeric array ascending or descending, a string array aphabetically, etc.). Your data already seems sorted by date and time, you just want to pick a subset having certain characteristics.
    The main problem that is slowing you down is your constant growing of large arrays. This causes constant memory reallocations.
    Since your data is already sorted by date and time, all you need is to place your data in a sutable data structure, find the start and end point of your selection, then use "array subset" for example.
    Your code also seems to have a lot of unecessary complexity. See for example your "test for sort data" (see image below).
    the four cases only differ by filename --> only the file name belongs into the case and the file operation outside the inner case. Even better, just use autoindexing.
    that shift register does not do anything, because it always contains the same data. Using "index array" with index wired to [i] is equivalent to an autoindexing tunnel.
    You have a case structure to select which files to read, skipped files give you an empty array. Do you really need to do all these operations on an empty array. Why not place all code inside the TRUE case??
    Below is an image of one possible code alternative that addresses some of these points.
    Message Edited by altenbach on 10-26-2006 09:32 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    testForSortData.png ‏33 KB

  • Sorting Date in Map?

    Dear Experts,
    I have a table with four fields Project (String), Task (String), StartDate (Date), EndDate(Date)
    I need to find Task in each Project having the earliest StartDate and the latest EndDate
    Example
    LA1C3TINT,B1CYSPOW10,11/15/1999,11/15/1999
    LA1C3TINT,B1CYSPOW10,11/15/1999,11/15/1999
    LA1C3TINT,B2CYSPOW10,7/15/2000,7/15/2000
    LA1C3TINT,B2CYSPOW10,7/15/2000,7/15/2000
    LA1C0JGEO,0CGQS2MHL100,3/25/2002,11/23/2004
    LA1C0JGEO,0CGQS2063001,3/25/2002,11/23/2004
    LA1C0JGEO,0CGQS2063002,3/25/2002,11/23/2004
    I was thinking of storing them in map to array, with Project as key
    However I don't think I can actually mix type of data in an array, provided I can sort date in array ????
    Any pointers will highly be appreciated

    Make a class that encapsulates whatever this thing is, either make it Comparable or write a Comparator class, and sort it using either a List or a SortedSet.

Maybe you are looking for

  • Calling a function inside a symbol?

    Hi there, I'm one of those flash-devs that are trying to get Edge Animate to do what I usually do in Flash, so I might be doing this the wrong way, but I've got a symbol with a function "inside" on my stage, and I wanna call that function from the st

  • How to remove unwanted Document History?

    I'm creating an eBook in InDesign, saving to .pdf and adding multi-media content in Acrobat Pro 9. The final .pdf file has a great deal of extraneous information stored in its Metadata, including a complete list of information on every single instanc

  • Stempel Sammlung erstellen bzw. Import von mehreren Stempeln gleichzeitig

    Hallo Community, ich habe mir verschiedene Benutzerdefinierte Stempel erstellt in Adobe Acrobat Standard X. Diese möchte ich nun nach einer neu Installation wieder importieren aber nicht das ich alle einzeln anwählen muss sondern das ich alle gleicht

  • No puedo acceder a mi photoshop

    al reinstalar el photoshop cs5 ingreso el numero de serie y mis datos de cuenta de adobe pero me dice que no se pudo iniciar la suscripcion y no me deja acceder al programa

  • View hangs during executing

    I currently have a view set up and when I do an execute query on this view it works great, but only if I run the form standalone. As soon as I run through a menu it hangs forever. Any ideas? Please Help kjp