Tìm chỗ đang bị chiếm bởi người dùng chỉ ra trong danh sách chỗ bận. trả về chỗ tương ứng. Nếu không, trả về null. Nếu tìm thấy người dùng Câu hỏi con 1 Từ các nhóm câu trả lời sau, hãy chọn các câu trả lời đúng để điền vào các ô trống từ đến trong chương trình trên. Nhóm câu trả lời cho a tới c: b) a) element d) new ListElement() e) next g) null h) prev j) this Nhóm | public String getUserID return userID . _ - _ public void setưserlD string userID userID . _ public boolean isUsedBy string userID return userID . . public long getCheckinTime return checkinTime . . public void setCheckinTime long time checkinTime time Program 3 public class SeatManager DO too private static final int NSEATS 30 Tống số chỗ Thời gian sử dụng tối đa ms private static final int MAXTIME 60 60 1000 Danh sách chỗ còn trống private ListElement freeSeats new ListElement Danh sách chỗ đang bận private ListElement occupiedSeats new ListElement public SeatManager for int i 1 i NSEATS i Seat seat new Seat i freeSeats Nếu có 1 chỗ trống trong d. sách chỗ trống thể nghiệm Seat bị xoá đi trong chỗ trống và trả về thể nghiệm. Nếu không còn chỗ trống trả về null. private Seat getFreeSeat ListElement le if le freeSeats return Seat le return null Kiểm tra danh sách chỗ bận. Nếu có người chiếm chỗ lâu hon thời gian sử dụng tối đa đưa ra một thông báo và gọi phưong thức checkout. private void vacateExpiredSeat long time ListElement le - I d 52 if le occupiedSeats Seat seat - Seat le if MAXTIME time Seat must check out. checkout Tìm chỗ đang bị chiếm bởi người dùng chỉ ra trong danh sách chỗ bận. Nếu tìm thấy người dùng trả về chỗ tương ứng. Nếu không trả về null. private Seat finduser string userID ListElement le I e while le occupiedSeats Seat seat Seat le if userID return seat io too le return null public Seat checkin string userID long now Seat seat getFreeSeat if seat null vacateExpiredSeat now seat getFreeSeat if seat null now userID return seat public boolean checkout string userID Seat seat finduser userID if seat null null .