TreeSet is not sorting -- help required to find why

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • suniMyjava
    New Member
    • Apr 2010
    • 1

    TreeSet is not sorting -- help required to find why

    using Treeset to sort numbers .But sorting is not happening properly.Below is the code

    IDataCursor pipelineCursor = pipeline.getCur sor();
    String keyName = IDataUtil.getSt ring( pipelineCursor, "keyName" );
    java.util.TreeS et set = null;
    IData[] list = IDataUtil.getID ataArray( pipelineCursor, "list" );
    if ( list != null)
    {
    for ( int i = 0; i < list.length; i++ )
    {
    IDataCursor tempCursor = list[i].getCursor();
    if(tempCursor.n ext(keyName))
    {
    if(set == null)
    set = new java.util.TreeS et();
    set.add((String )tempCursor.get Value());
    }
    }
    if(set!=null)
    {
    IDataUtil.put(p ipelineCursor," set",set);
    IDataUtil.put( pipelineCursor, "min", (String)set.fir st() );
    IDataUtil.put( pipelineCursor, "max", (String)set.las t() );
    }
    }




    pipelineCursor. destroy();

    input :1,100,2,300,10 00,5

    out put came

    min 1
    max 5


    If the number list is above 1000 then its returning

    min as '1' but max always 999

    help me to find the problem
  • jkmyoung
    Recognized Expert Top Contributor
    • Mar 2006
    • 2057

    #2
    You're inserting the numbers as strings:
    set.add((String )tempCursor.get Value());

    but expecting them to be sorted as Integers.
    Add them as Integers.

    Comment

    Working...