Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

List performance- design issue

 
Anu satya
Ranch Hand
Posts: 146
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I have a requirement:
I have two Lists:
1. Student List (with subject info)
2. Subject List.(with student info)

I need to display the contents as given below:

1. All the students who are studying subject 'maths' -- search by Math
2. all the subjects studied by a student 'Jhon' -- search by Student

how do i achieve it. I need to design a solution. But wondering how to desing it.
 
Martin Vajsar
Sheriff
Posts: 3752
62
Chrome Netbeans IDE Oracle
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd start by implementing the simplest solution - that is, iterating over the lists and picking up the items that meet the criteria. Then measure the performance. If and only if it turns out to be a bottleneck of your application, start thinking about how to improve it.
 
Andreas Hollmann
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
look at filter() method from Collections2 of google-guava library.
 
Andreas Hollmann
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
also if you want to increase the performance of your list you can use SortedList decorator of happy-library.
 
fred rosenberger
lowercase baba
Bartender
Posts: 12185
34
Chrome Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Martin Vajsar wrote:I'd start by implementing the simplest solution - that is, iterating over the lists and picking up the items that meet the criteria. Then measure the performance. If and only if it turns out to be a bottleneck of your application, start thinking about how to improve it.

I agree, with one caveat...You need to have defined, measurable criteria for what is "fast enough" BEFORE you do the tests. Defining that sort of thing after you've run your tests is pointless.

It seems like all far too often, if these things aren't defined ahead of time, it doesn't matter what the results are, someone will say "That's not fast enough". So, you define the requirements FIRST, and then work to meet them.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic