-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlab7.java
59 lines (49 loc) · 1.71 KB
/
lab7.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import java.util.ArrayList;
import java.util.List;
class HotelRoom {
private int roomNumber;
private boolean isOccupied;
public HotelRoom(int roomNumber, boolean isOccupied) {
this.roomNumber = roomNumber;
this.isOccupied = isOccupied;
}
public int getRoomNumber() {
return roomNumber;
}
public boolean isOccupied() {
return isOccupied;
}
}
public class lab7 {
public static void main(String[] args) {
// Sample list of hotel rooms
List<HotelRoom> rooms = new ArrayList<>();
rooms.add(new HotelRoom(101, false));
rooms.add(new HotelRoom(102, true));
rooms.add(new HotelRoom(103, false));
rooms.add(new HotelRoom(104, true));
rooms.add(new HotelRoom(105, false));
// Using lambda expression to filter available rooms
List<HotelRoom> availableRooms = filterRooms(rooms, room -> !room.isOccupied());
// Displaying the available rooms
System.out.println("Available Rooms:");
for (HotelRoom room : availableRooms) {
System.out.println("Room Number: " + room.getRoomNumber());
}
}
// Lambda expression for filtering rooms based on a condition
private static List<HotelRoom> filterRooms(List<HotelRoom> rooms, RoomFilterCondition condition) {
List<HotelRoom> filteredRooms = new ArrayList<>();
for (HotelRoom room : rooms) {
if (condition.test(room)) {
filteredRooms.add(room);
}
}
return filteredRooms;
}
// Functional interface for the room filter condition
@FunctionalInterface
interface RoomFilterCondition {
boolean test(HotelRoom room);
}
}