aspose file tools
The moose likes Java in General and the fly likes sorting data in increasing order Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Java in General
Reply Bookmark "sorting data in increasing order" Watch "sorting data in increasing order" New topic
Author

sorting data in increasing order

sina milka
Greenhorn

Joined: Jan 30, 2004
Posts: 7
hi one and all,
I HAVE A TEXT FILE LIKE THIS
student id marks
001 154
002 144
003 132
004 175
005 163
: :
: : LIKE THAT.
now i have to sort the entire data according to the marks in increasing order.should it be wriiten in a normaal way using if else or is there any specific methods for easy approach and quicker evaluation for such operations like sort().i read thru the sort, set and collections but i could not make out how to implement them with my problem.respond ASAP please.thanx in advace.
bye
Dirk Schreckmann
Sheriff

Joined: Dec 10, 2001
Posts: 7023
If the purpose of this assignment is for you to begin to think about creating a sorting algorithm, then perhaps you'd do well to do that instead.
Otherwise, you could make use of Arrays.sort(Object[]) or Collections.sort(List) pretty easily.


[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Jeff Langr
author
Ranch Hand

Joined: May 14, 2003
Posts: 758
1. use a BufferedReader to read each line from the file
2. use a StringTokenizer to split each line into an ID and a score
3. create a Score object (create a new class) and store ID & score in it
4. implement the Comparable interface on Score to order by score
5. add each Score object to a List object (e.g. ArrayList)
6. use the Collections sort method
7. use a BufferedWriter to write a string representation of each object in the collection back to the file
[ February 11, 2004: Message edited by: Jeff Langr ]

Author, Agile Java, Essential Java Style. Agile in a Flash. Contributor, Clean Code.
Sadanand Murthy
Ranch Hand

Joined: Nov 26, 2003
Posts: 382
Elaborating a little more on what Jeff has posted (especially since you said that you read through the set, collections & sort but didn't quite understand):
Comparable interface defines a method compareTo() which takes an argument of type Object & returns an int which tells whether the object on which the compareTo() method was called is less than or equal to or greater than or the argument Object. So, any class that implement the Comparable interface must provide an implementation for the compareTo() method. In this method, you can compare the 2 objects - argument object & the object on which the compareTo() method was invoked - in whatever way you want.
Another way to provide for sorting is to create a class that implements the Comparator interface. The class that implements this interface must provide implementation for 2 methods - compare() & equals(). Then, you can call the static method sort() of Collections class & pass it the collection that needs to be sorted and the sorting comparator that you want it to use to order the objects in that collection.


Ever Existing, Ever Conscious, Ever-new Bliss
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
Here's something to play around with
(I've simulated the data from the file as an array)
sina milka
Greenhorn

Joined: Jan 30, 2004
Posts: 7
hi all,
thanx for ur response and above code,but i have a problem with it as my file is very huge like i have datas as much as 19000 student id & marks
ID Marks Grade
001 154 B
002 144 C
003 132 D
004 175 A
005 163 B
: :
: :
: :
19016 152 B
and in the above code if i break and pass it in string array it gives array out of bound exception as its too large.so how the above code could be modified to overcome this problem and sort the above data based on marks.
thanx in advance
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: sorting data in increasing order
 
Similar Threads
Sorting values in HashMap
sort -increasing order
NX:Client crashed cause deadlock in LockManager
MySQL AUTO_INCREMENT column not uniform
Dynamic String Array Decelaration