我的数据结构格式为Map<String, Map<String, Long>> map
:
1987 {abacate=1, catuaba, lion=3, coco=1, asas=2}
2005 {Polymer Science=3}
1234 {Environmental Studies=1}
每个年是我的Hash的关键,每对word=number
对应一个早期的操作,我计算了这个单词的出现(用逗号分隔的是一个单词)术语)。
我正在尝试遍历此哈希,因此我可以将每个word=number
对用分隔符分隔,但由于这种结构,我的结果不是很一致。
当我使用简单的Map<String, List<String>>
时,我可以迭代并恢复所有的键和值而没有任何问题。使用map.forEach()
我能够做到这一点
map.forEach((name, lines) -> {
try {
Files.write(Paths.get(PATH), lines);`
} catch (IOException e) {
e.getStackTrace();
}
});
但现在在这种结构中我遇到了麻烦。有没有人有一个很好的方法来完成这个结构(Map<String, Map<String, Long>>
)所以我可以使用分隔符来编写它?
答案 0 :(得分:1)
您可能只想在没有lambdas的情况下迭代地图,以了解您想要做什么。
<ion-view view-title="Sign Up" >
<ion-content class="padding">
<div class="list">
<label class="item item-input item-floating-label">
<span class="input-label">First Name</span>
<input type="text" placeholder="First Name">
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Last Name</span>
<input type="text" placeholder="Last Name">
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Email</span>
<input type="text" placeholder="Email">
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Password</span>
<input type="text" placeholder="password">
</label>
<button class="button button-block button-positive"ng-click="insert('averyto8@vt.edu')">
Sign-Up
</button>
</div>
</ion-content>
</ion-view>
答案 1 :(得分:0)
@Chill回复的小变化(所有积分给他)
for (Entry<String, Map<String, Long>> mapEntry : props.entrySet()) {
String mapKey = mapEntry.getKey();
Map<String, Long> submap = mapEntry.getValue();
for (Entry<String, Long> submapEntry : submap.entrySet()) {
String submapKey = submapEntry.getKey();
Long submapList = submapEntry.getValue();
System.out.println(mapKey + "\t" + submapKey + "\t" + submapList);
//TODO: do whatever you want with these items.
}
}
我的数据位于Map <String, Map<String, Long>>
,因此我对其代码进行了一些修改。