logo Practice-It logo

PointManhattanDistanceComparator

Language/Type: Java Comparator
Author: Marty Stepp (on 2013/02/12)

Write a class named PointManhattanDistanceComparator that implements the Comparator interface to compare Point objects. Your comparator should order the points by ascending "Manhattan distance" from the origin, (0, 0). A "Manhattan distance" between two points (also sometimes called the "taxicab distance" or "rectangular distance") is the absolute sum of the differences in x and y between the two points. It gets its name from the idea that when driving in a crowded city like Manhattan, a car must drive in straight horizontal/vertical lines along the grid of streets to reach its destination. For example, the point (3, -5) has a distance of 3+5=8 from the origin. Your comparator would indicate the following points should be in this order:

  • [(0,1), (-2,0), (1,2), (4,-1), (3,3), (5,-2), (4,4)]
Type your solution here:


This is a class problem. Submit a complete Java class as described.

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.