[ 
https://issues.apache.org/jira/browse/GEOMETRY-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520505#comment-17520505
 ] 

Matt Juntunen commented on GEOMETRY-146:
----------------------------------------

bq. Hmm, I thought that it was inefficient (requiring iterating in order to 
copy all references to entries into the returned collection) 

Full enumeration is only required if the size is not known ahead of time, as in 
the case of returning a collection representing entries within a specified 
radius. The return values from {{nearToFar}} and {{farToNear}} represent the 
entire map/set so we already know the size. The collections are lazily 
populated views of the map/set data and only store enough information to 
determine the next element to return during iteration. (This is why {{List}} 
would still be inefficient here, since it would require much more storage to 
support access by index. Hence, it is left to the caller to convert to a 
{{List}} if needed.)

bq. Otherwise, it is great; and, thus, why not have

Great! I'll start converting to this API.


> PointSet/Map closest points
> ---------------------------
>
>                 Key: GEOMETRY-146
>                 URL: https://issues.apache.org/jira/browse/GEOMETRY-146
>             Project: Commons Geometry
>          Issue Type: New Feature
>            Reporter: Matt Juntunen
>            Priority: Major
>             Fix For: 1.1
>
>
> Add methods to the new {{PointSet}} and {{PointMap}} interfaces to allow 
> querying of points in order of distance from a query point.
> {code:java}
> PointSet<P> {
>     // find the closest point to pt or null if empty 
>     P closest(P pt);
>     // iterate through points in order, with points closest to pt coming first
>     Iterable<P> closestFirst(P pt);
>     // find the farthest point from pt or null if emtpy
>     P farthest(P pt);
>     // iterate through point in order, with points farthest from pt coming 
> first
>     Iterable<P> farthestFirst(P pt);
> }
> {code}
> {{PointMap}} should have similar methods providing access to the map keys and 
> entries.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to