PR review

java에서 collection을 다루는 방법들

https://github.com/LandvibeDev/web-chat-backend/pull/12

Ways to Iterate Over a List in Java | Baeldung

Introduction to Java Streams | Baeldung

Method References in Java | Baeldung

enhanced for-loop (향상된 for문)

List<Room> rooms = roomService.getRooms();
for (Room room : rooms) {
		RoomResponse roomResponse = new RoomResponse();
		roomResponse.setId(room.getId());
		roomResponse.setTitle((room.getTitle()));
		roomResponseList.add(roomResponse);
}

Iterable.forEach

List<Room> rooms = roomService.getRooms();
rooms.forEach(room -> {
		RoomResponse roomResponse = new RoomResponse();
		roomResponse.setId(room.getId());
		roomResponse.setTitle(room.getTitle());
		roomResponseList.add(roomResponse);
});

Stream.forEach

List<Room> rooms = roomService.getRooms();
List<RoomResponse> roomResponses = rooms.stream()
			.map(room -> {
				RoomResponse roomResponse = new RoomResponse();
				roomResponse.setId(room.getId());
				roomResponse.setTitle(room.getTitle());
				return roomResponse;
			})
			.collect(Collectors.toList());
List<Room> rooms = roomService.getRooms();
List<RoomResponse> roomResponses = rooms.stream()
			.map(RoomResponse::create) // method reference
			.collect(Collectors.toList());

//---------------------
@Getter
@Setter
public class RoomResponse {
	private Long id;
	private String title;

	public static RoomResponse create(Room room) {
		RoomResponse roomResponse = new RoomResponse();
		roomResponse.setId(room.getId());
		roomResponse.setTitle(room.getTitle());
		return roomResponse;
	}
}