java映射字符串未增加
我创建了一张新地图。然后我把值放到地图上。但是map会覆盖一些值吗?为什么?不增加贴图仅为每个键存储一个值。如果要为同一个键存储多个值,可以使用列表或集合作为映射的值java映射字符串未增加,java,dictionary,hashmap,Java,Dictionary,Hashmap,我创建了一张新地图。然后我把值放到地图上。但是map会覆盖一些值吗?为什么?不增加贴图仅为每个键存储一个值。如果要为同一个键存储多个值,可以使用列表或集合作为映射的值 Map<String, String> map = new HashMap<String, String>(); ObservableList<Object> row2 = FXCollections.observableArrayList();
Map<String, String> map = new HashMap<String, String>();
ObservableList<Object> row2 = FXCollections.observableArrayList();
try {
connected();
String sql = "SELECT `20`.startdate, `20`.enddate, `20`.number FROM `20`";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
String sd = rs.getString(3);
LocalDate std = rs.getDate(1).toLocalDate();
LocalDate end = rs.getDate(2).toLocalDate();
while (!std.equals(end)) {
std = std.plusDays(1);
String st = std.toString();
map.put(sd,st);
}
}
closed();}
catch(Exception e){}
如果键是相同的,那么它将覆盖以前的值。更传统的缩进方法将使代码对试图帮助您的人更具可读性。有些值是相同的
Map<String, List<String>> map = new HashMap<String, List<String>>();
while(rs.next()){
String sd = rs.getString(3);
LocalDate std = rs.getDate(1).toLocalDate();
LocalDate end = rs.getDate(2).toLocalDate();
while (!std.equals(end)) {
std = std.plusDays(1);
String st = std.toString();
List<String> values = map.get(sd);
if (values == null) {
values = new ArrayList<String>();
map.put(sd,values);
}
values.add(st);
}
}