Java Coding

Design Elevator (Lift) in Java

Design Elevator (Lift) in Java

Ashish Lahoti

Implementation of Elevator or Lift has been asked in many interviews. I have tried to implement it using muti-threading and TreeSet. TreeSet is used to store incoming request. It is a good choice here as it removes the duplicate requests and implements NavigableSet which provide you methods such as floor and ceiling.

Elevator in this program implements following features -

  • If elevator is going up or down, it checks for nearest floor request to process first in that direction.
  • If there is no request to process, it waits at last processed floor.
  • If a new request comes while elevator is processing a request. It process the new request first if it is nearest than the processing floor in same direction.