这是迭代 LinkedHashMap 的正确方法吗?
我正在尝试迭代 LinkedHashMap 但它不正确我已附加下面的代码
for (int g = 0; g < list_Fields.size(); g++) {
System.out.println("Hello ListOFFields:" + list_Fields.get(g));
row = (LinkedHashMap) list_Fields.get(g);
Iterator ie = row.keySet().iterator();
while (ie.hasNext()) {
String colName = ie.next().toString();
System.out.println("<TD>" + colName + "</TD>");
}
}
I am trying to iterate LinkedHashMap but its not coming in right i have attached the code below
for (int g = 0; g < list_Fields.size(); g++) {
System.out.println("Hello ListOFFields:" + list_Fields.get(g));
row = (LinkedHashMap) list_Fields.get(g);
Iterator ie = row.keySet().iterator();
while (ie.hasNext()) {
String colName = ie.next().toString();
System.out.println("<TD>" + colName + "</TD>");
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不知道为什么它做得如此笨拙。这是我们在 Java 中迭代集合时通常所做的事情(就像您使用 LinkedHashMap 一样,我假设您使用的是 Java 5+)
I am not sure why it is made so clumsy. Here is what we normally done when iterating collections in Java (as u r using LinkedHashMap, I assume you are using Java 5+)
按照您想要的打印语句的方式修改它
如果你只想要键,那么使用 keySet() 而不是 entrySet()
在这里你可以:
Modify it the way you want print statements
If you just want Keys then use keySet() instead of entrySet()
Here you go:
我想应该是这样的:
I guess it should be like this:
您可以迭代字段列表,并在迭代内部迭代值的集合。您最终将得到一个表,其中每个字段的行数与其中的混合数量有关。
如果您想获得一个简单的表 - 更改字段/数据集合的顺序并切换迭代顺序,即首先在行上迭代,然后在字段上迭代:
You iterate over list of fields and inside of the iteration you iterate over collections of values. You will end-up with a table with row-per field with mixed amount of in it.
If you want to get a simple table - change order of you fields/data collections and switch you iteration order that you iterate on rows first and on fields second: