Techniques for searching a list of ranges to find the one a given values falls in:
Often your ranges are all the same length. Then you can find the slot by dividing your value by the range length. This is very fast.
If the length of each range is a multiple of some unit, you can construct a lookup table. You take your value, divide by the length of the unit, and use it to index the table to give you the band number. This is very fast. This technique can be used to deal with weighted values that behave like extending the length of the associated band.
If your ranges are short, and sparse, you can index the start point, rounded, in a HashMap or TreeMap. There is no built-in Collection that will look up ranges for you. You must roll your own.
|
|
You can get the freshest copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) |
| http://mindprod.com/jgloss/range.html | J:\mindprod\jgloss\range.html | |
![]() | Please email your feedback for publication,
letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording,
broken/redirected link reports, suggestions to improve this page or comments to
Roedy Green :
| |
| Canadian Mind Products | ||
| mindprod.com IP:[65.110.21.43] | ||
| view Blog | Your face IP:[38.107.179.212] | |
| Feedback | You are visitor number 11. | |