Introduction:
In the issue I had at hand we needed to sort the data to create a
matrix. So actually we needed to morph a list to a matrix form.
The problems:
At first hand I was thinking about using the states of the data to
figure out where in the matrix it should find its place. As soon I made a
drawing about my idea, I stopped working at it. I needed to create a complex
structure with a lot of if statements. I understood that, if I choose this way
I might run into a lot of bugs. I needed to think harder.
The solution:
I turned the whole idea around and looked at it from the other side.
Instead of creating the matrix directly from the list I could something like a
pre-sort. The next question obvisiouly would be: How the hell do I do that? The
answer was actually quite simple looking back at the issue. I took a
LinkedhashMap and a Treemap. I made sure that the query returned everything
sorted by date.
In the LinkedHashmap I used as a key the date and the Treemap. The
LinkedHashmap keeps things in order of incoming. So it kept the order of the
query I created by date. The second ordering would be by currency where the payment was in done. This I
used as a key in the TreeMap together with the rest of the object. The Treemap
sorts on aliphatic or numeric order using the black and red sorting
algorithm.
Now All I had to do was write a double loop for both of the maps and put
the data I needed in place.
Conclusion:
Sometimes it is better to make that drawing and have a better look at
what you need to-do. I believe that part is the greatest joy in my job. Create
something that gives me the proud feeling.
Have fun!
Geen opmerkingen:
Een reactie posten