Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Match the most closest number  RSS feed

 
jay lai
Ranch Hand
Posts: 180
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a list of number, types is Double. I have a method to pass in the Double as params. I want to compare the input params with each of the values in the collection, if it matches the most closest value then return that value from the collection.

Collections<Double> list = new ArrayList<Double>();
list.add(89000.00);
list.add(78900.00);
list.add(56999.12);

so the method is like this

private Double getTheMatch(Double param) {
pseudo code:
for (Double d : list) {
if (param Match list.getNumber) {
return list.getNumber;
}
}
}

so if passing 88908.00 --> value will return will be 89000.00 , the most match value from the list

What API java class should I use? Thanks
 
Jesper de Jong
Java Cowboy
Sheriff
Posts: 16028
87
Android IntelliJ IDE Java Scala Spring
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can use a NavigableSet for this. Class TreeSet is an implementation of class NavigableSet. Example:

Note that the method ceiling returns the least element in the set greater than or equal to the given element (or null if there is no such element). There are other methods in the interface, such as floor, higher and lower. You'll have to read the documentation and decide which of these is appropriate for your application.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!