Sorting an object based on 2 values

Posted on 2006-11-02
Last Modified: 2010-03-31
Hello, I have an array of objects with 2 fields: String Key, and int dID.

What I want to do is sort the array first by the Key, and then by the dID.

for example:

"Hello", 7
"Hello", 4
"Apple", 9

Becomes:  "Apple", 9
                "Hello", 4
                "Hello", 7

Before I start sorting, the array is already sorted by dID, so I am wondering if there is a sorting algorithm that will sort the Keys, while keeping the dID's in order like my example above.

If there is no such algorithm, what is the best method to go about achieving this?


Question by:twibblejaway
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 92

Accepted Solution

objects earned 500 total points
ID: 17863529

Author Comment

ID: 17863772
ok, so i have that working, and I can print out the list to verify that it is sorted appropriatly.  How can I get my original object array back now though?  I dont even need to get it back as an array, is there just a way I can remove the object one at a time?  
LVL 92

Expert Comment

ID: 17863788
if you need the original array then take a copy before sorting (or resort it depending on your exact needs)

Author Comment

ID: 17863790
I dont need the original.  What I need is to be able to take 1 element out of the newly sorted array at a time.  
LVL 92

Expert Comment

ID: 17863813
better off using a List if you want to be removing elements.
With an array best you can do is set the element to null.

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question