Arraylist 从 url 中取出最后一个对象。并在最后一个对象中用 a(" ") 替换 append(";"),Java
Arraylist take the last object from url. and replace an append(";") by a(" ") in the last object, Java
下午好,我需要以下方法的帮助,例如,我有一个房间列表,它是用数据打印 URL。只是列表的最后一个数据需要删除作为分隔符的 .append(";") 并将其替换为 (" ") 或删除 ; .仅在最后一个对象(房间)的情况下,
我调查过,但我不知道大小或 lastIndexOf 哪个最好
例子
rooms.get(rooms.size()-1); -->option 1
rooms.lastIndexOf(room); --> option 2
url 如下,
https://hotel.google.net/hotels/ytd.proba.miami,2/MIA/XXXXX-XXXXX/1DR;1DR;?token=Ws2QmzjsxDFC7jeN&
我只需要最后 1DR 就没有;只是最后一个。如果我遗漏了更多信息,请告诉我。非常感谢
private String getFormattedRooms(List<HotelRoom> rooms) {
StringBuilder formattedRooms = new StringBuilder();
for (HotelRoom room : rooms) {
formattedRooms.append("1").append(getSupplierRoomType(room)).append(getChildrenAges(room)).append(";");
}
return formattedRooms.toString();
}
您实际构建的是一系列由 ';'
连接的字符串,那么为什么不构建每个字符串然后连接它们呢?
使用流,例如:
rooms.stream()
.map(room -> "1" + getSupplierRoomType(room) + getChildrenAges(room))
.collect(Collectors.joining(";"));
没有流:
private String getFormattedRooms(List<HotelRoom> rooms) {
List<String> roomStrings = new ArrayList<>();
for (HotelRoom room : rooms) {
roomStrings.add("1" + getSupplierRoomType(room) + getChildrenAges(room));
}
return String.join(";", roomStrings);
}
下午好,我需要以下方法的帮助,例如,我有一个房间列表,它是用数据打印 URL。只是列表的最后一个数据需要删除作为分隔符的 .append(";") 并将其替换为 (" ") 或删除 ; .仅在最后一个对象(房间)的情况下,
我调查过,但我不知道大小或 lastIndexOf 哪个最好
例子
rooms.get(rooms.size()-1); -->option 1
rooms.lastIndexOf(room); --> option 2
url 如下, https://hotel.google.net/hotels/ytd.proba.miami,2/MIA/XXXXX-XXXXX/1DR;1DR;?token=Ws2QmzjsxDFC7jeN&
我只需要最后 1DR 就没有;只是最后一个。如果我遗漏了更多信息,请告诉我。非常感谢
private String getFormattedRooms(List<HotelRoom> rooms) {
StringBuilder formattedRooms = new StringBuilder();
for (HotelRoom room : rooms) {
formattedRooms.append("1").append(getSupplierRoomType(room)).append(getChildrenAges(room)).append(";");
}
return formattedRooms.toString();
}
您实际构建的是一系列由 ';'
连接的字符串,那么为什么不构建每个字符串然后连接它们呢?
使用流,例如:
rooms.stream()
.map(room -> "1" + getSupplierRoomType(room) + getChildrenAges(room))
.collect(Collectors.joining(";"));
没有流:
private String getFormattedRooms(List<HotelRoom> rooms) {
List<String> roomStrings = new ArrayList<>();
for (HotelRoom room : rooms) {
roomStrings.add("1" + getSupplierRoomType(room) + getChildrenAges(room));
}
return String.join(";", roomStrings);
}