【发布时间】:2020-03-05 18:32:10
【问题描述】:
我有一个Map<String,Map<String,String>>,我想将每个键和值都小写。使用以下代码,我可以这样做,但我的数据结构会发生变化。我该如何解决这个问题?
for (Map.Entry<String, Map<String, String>> t : list.entrySet()) {
for (Map.Entry<String, String> e : t.getValue().entrySet()) {
lowerCaseList1.put(t.getKey().toLowerCase().trim(), lowerCaseList2.put(e.getValue().toLowerCase().trim(), e.getKey().toLowerCase().trim()));
}
}
【问题讨论】:
-
您在名为
list的变量中有Map?这令人困惑!!! -
你的数据结构?这意味着什么?
HashMap是无序的。如果您想保留排序,请使用TreeMap或LinkedHashMap。 -
最明显的解决方案是创建一个具有适当大小写的新地图。就地更改意味着您需要处理很多极端情况。
-
如果你想将字符串转换为大写,你为什么要调用
toLowerCase()? -
@Andreas Typo,我的错