我是新手,我真的不明白这是如何运作的.
我列出了一个存储房间信息的清单:
List rooms = new ArrayList<>();
每个房间存储其房间号(整数),类型(枚举),价格(双),容量(整数)和设施(字符串)的数据.
长话短说,我的问题是:
(1)如何搜索此列表,例如检查是否存在编号为’401’的房间?
(2)如何打印出每个单独的房间及其信息?
额外信息:
我可以通过以下方式添加房间:
Room r = new Room(roomNumber, roomType, price, capacity, facilities);
rooms.add(r);
(我使用构造函数和getRoomNumber()等方法创建了一个’Room’类.
我发现我可以搜索“房间”列表并显示我知道哪个房间存在的信息,例如:房间号101:
// Info for room '101'
Room room = rooms.stream()
.filter(r -> r.getRoomNumber() == 101)
.findFirst().orElseThrow();
System.out.println("Room Number: " + room.getRoomNumber());
System.out.println("Type: " + room.getRoomType());
System.out.println("Cost: " + room.getPrice());
System.out.println("Capacity: " + room.getCapacity());
System.out.println("Facilities: " + room.getFacilities());
上面的代码工作正常.
我尝试使用上面的try和catch来查看是否存在一个房间(如果它没有抛出NoSuchElementFound异常)但这似乎根本不起作用,代码甚至不编译.
我也尝试过使用(有和没有valueOf):
Arrays.asList(rooms).contains(Integer.valueOf(401))
但这并没有真正起作用.代码编译但它实际上没有做任何事情.
所以,我的问题(如前所述)是:
(1)如何搜索此列表,例如检查是否存在编号为’401’的房间?
(2)如何打印出每个单独的房间及其信息?
谢谢!