Skip to content

Commit 16b7e8a

Browse files
committed
remove and view orders
1 parent f37ffbd commit 16b7e8a

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

OrderBook/src/main/orderbook/OrderBook.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Collections;
55
import java.util.HashMap;
66
import java.util.List;
7+
import java.util.Map;
78
import java.util.TreeMap;
89

910
public class OrderBook {
@@ -19,8 +20,30 @@ public void addOrder(Order order) {
1920
orderMap.put(order.getId(), order);
2021
}
2122

22-
//remove Order
23+
public boolean removeOrders(String orderId) {
24+
Order order = orderMap.remove(orderId);
25+
if(order==null) {
26+
return false;
27+
}
28+
TreeMap<Double, List<Order>> refTreeMap = order.getIsBuyOrder() ? buyOrders : sellOrders;
29+
List<Order> ordersAtPrice = refTreeMap.get(order.getPrice());
30+
ordersAtPrice.remove(order);
31+
if(ordersAtPrice.isEmpty()) {
32+
refTreeMap.remove(order.getPrice());
33+
}
34+
return true;
35+
}
2336

24-
//view Orders
37+
public void viewOrder() {
38+
System.out.println("Buy Orders are: ");
39+
for(Map.Entry<Double, List<Order>> entry : buyOrders.entrySet()) {
40+
System.out.println("Price: "+entry.getKey()+" -> "+entry.getValue());
41+
}
42+
43+
System.out.println("Sell Order are: ");
44+
for(Map.Entry<Double, List<Order>> entry : sellOrders.entrySet()) {
45+
System.out.println("Price: "+entry.getKey()+" -> "+entry.getValue());
46+
}
47+
}
2548

2649
}

0 commit comments

Comments
 (0)