Java 如何显示LinkedHashMap值
我在使用LinkedHashMap迭代和显示值时遇到了一个问题。 我有一个模型类,它具有属性的getter setter 这是我的主课Java 如何显示LinkedHashMap值,java,dictionary,linkedhashmap,Java,Dictionary,Linkedhashmap,我在使用LinkedHashMap迭代和显示值时遇到了一个问题。 我有一个模型类,它具有属性的getter setter 这是我的主课 public class main { public static void main(String[] args) throws SQLException { DemoHandler handler = new DemoHandler(); LinkedHashMap<String, Model> hashMap = new L
public class main {
public static void main(String[] args) throws SQLException {
DemoHandler handler = new DemoHandler();
LinkedHashMap<String, Model> hashMap = new LinkedHashMap<String, Model>();
Model modelInfo = new Model();
modelInfo.setId(1);
modelInfo.setName("Subho");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("24");
modelInfo.setGender("Male");
hashMap.put("100", modelInfo);
System.out.println(modelInfo.getName());// It shows Subho, which is fine
modelInfo.setId(2);
modelInfo.setName("Diba");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("25");
modelInfo.setGender("Male");
hashMap.put("101", modelInfo);
System.out.println(modelInfo.getName());// It shows Diba, which is fine
modelInfo.setId(3);
modelInfo.setName("Jeet");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("28");
modelInfo.setGender("Male");
hashMap.put("102", modelInfo);
System.out.println(modelInfo.getName());// It shows Jeet, which is fine
for (Map.Entry<String, Model> entry : hashMap.entrySet()) {
Model m = entry.getValue();
System.out.println(m.getName());// Here I can see only Jeet thrice. The iterator iterates 3 times which is fine but the value it gives only the last data I entry. It should shows Subho,Diba,Jeet here.
}
}
}
公共类主{
公共静态void main(字符串[]args)引发SQLException{
DemoHandler=新的DemoHandler();
LinkedHashMap hashMap=新LinkedHashMap();
modelInfo=新模型();
modelInfo.setId(1);
modelnfo.setName(“Subho”);
modelnfo.setEmail(“sm@gammainfotech.com");
模型信息设置(“24”);
modelnfo.setGender(“男性”);
hashMap.put(“100”,modelInfo);
System.out.println(modelInfo.getName());//它显示Subho,这很好
modelInfo.setId(2);
modelnfo.setName(“Diba”);
modelnfo.setEmail(“sm@gammainfotech.com");
模型信息设置(“25”);
modelnfo.setGender(“男性”);
hashMap.put(“101”,modelnfo);
System.out.println(modelInfo.getName());//它显示Diba,这很好
modelInfo.setId(3);
modelnfo.setName(“吉特”);
modelnfo.setEmail(“sm@gammainfotech.com");
模型信息设置(“28”);
modelnfo.setGender(“男性”);
hashMap.put(“102”,modelnfo);
System.out.println(modelInfo.getName());//它显示了Jeet,这很好
for(Map.Entry:hashMap.entrySet()){
模型m=entry.getValue();
System.out.println(m.getName());//这里我只能看到Jeet三次。迭代器迭代三次,这很好,但它只给出最后一个数据输入。这里应该显示Subho,Diba,Jeet。
}
}
}
现在当我运行这个时,输出显示
苏波
迪巴
吉普车
吉普车
吉普车
吉普车
请帮助我显示所有值。您正在将同一个
模型
实例多次添加到地图中,因此每次都将使用新添加模型的属性覆盖先前添加模型的属性
应将唯一的模型实例添加到地图:
Model modelInfo = new Model();
modelInfo.setId(1);
modelInfo.setName("Subho");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("24");
modelInfo.setGender("Male");
hashMap.put("100", modelInfo);
System.out.println(modelInfo.getName());// It shows Subho, which is fine
modelInfo = new Model();
modelInfo.setId(2);
modelInfo.setName("Diba");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("25");
modelInfo.setGender("Male");
hashMap.put("101", modelInfo);
System.out.println(modelInfo.getName());// It shows Diba, which is fine
modelInfo = new Model();
modelInfo.setId(3);
modelInfo.setName("Jeet");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("28");
modelInfo.setGender("Male");
hashMap.put("102", modelInfo);
将同一个
模型
实例多次添加到映射中,因此每次都会使用新添加模型的属性覆盖先前添加模型的属性
应将唯一的模型实例添加到地图:
Model modelInfo = new Model();
modelInfo.setId(1);
modelInfo.setName("Subho");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("24");
modelInfo.setGender("Male");
hashMap.put("100", modelInfo);
System.out.println(modelInfo.getName());// It shows Subho, which is fine
modelInfo = new Model();
modelInfo.setId(2);
modelInfo.setName("Diba");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("25");
modelInfo.setGender("Male");
hashMap.put("101", modelInfo);
System.out.println(modelInfo.getName());// It shows Diba, which is fine
modelInfo = new Model();
modelInfo.setId(3);
modelInfo.setName("Jeet");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("28");
modelInfo.setGender("Male");
hashMap.put("102", modelInfo);
将同一个
模型
实例多次添加到映射中,因此每次都会使用新添加模型的属性覆盖先前添加模型的属性
应将唯一的模型实例添加到地图:
Model modelInfo = new Model();
modelInfo.setId(1);
modelInfo.setName("Subho");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("24");
modelInfo.setGender("Male");
hashMap.put("100", modelInfo);
System.out.println(modelInfo.getName());// It shows Subho, which is fine
modelInfo = new Model();
modelInfo.setId(2);
modelInfo.setName("Diba");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("25");
modelInfo.setGender("Male");
hashMap.put("101", modelInfo);
System.out.println(modelInfo.getName());// It shows Diba, which is fine
modelInfo = new Model();
modelInfo.setId(3);
modelInfo.setName("Jeet");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("28");
modelInfo.setGender("Male");
hashMap.put("102", modelInfo);
将同一个
模型
实例多次添加到映射中,因此每次都会使用新添加模型的属性覆盖先前添加模型的属性
应将唯一的模型实例添加到地图:
Model modelInfo = new Model();
modelInfo.setId(1);
modelInfo.setName("Subho");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("24");
modelInfo.setGender("Male");
hashMap.put("100", modelInfo);
System.out.println(modelInfo.getName());// It shows Subho, which is fine
modelInfo = new Model();
modelInfo.setId(2);
modelInfo.setName("Diba");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("25");
modelInfo.setGender("Male");
hashMap.put("101", modelInfo);
System.out.println(modelInfo.getName());// It shows Diba, which is fine
modelInfo = new Model();
modelInfo.setId(3);
modelInfo.setName("Jeet");
modelInfo.setEmail("sm@gammainfotech.com");
modelInfo.setAge("28");
modelInfo.setGender("Male");
hashMap.put("102", modelInfo);
多亏了埃兰的回答,你才解决了问题 现在,我建议您使用一种优雅的新方法,使用Java8特性(Lambdas…)输出
LinkedHashMap
这是老办法:
多亏了埃兰的回答,你才解决了问题 现在,我建议您使用一种优雅的新方法,使用Java8特性(Lambdas…)输出
LinkedHashMap
这是老办法:
多亏了埃兰的回答,你才解决了问题 现在,我建议您使用一种优雅的新方法,使用Java8特性(Lambdas…)输出
LinkedHashMap
这是老办法:
多亏了埃兰的回答,你才解决了问题 现在,我建议您使用一种优雅的新方法,使用Java8特性(Lambdas…)输出
LinkedHashMap
这是老办法:
帮我解决这个问题。请非常感谢你。。。我犯了多么愚蠢的错误。。。谢谢你帮我做这个@Eran请非常感谢@Eran。。。我犯了多么愚蠢的错误。。。谢谢你帮我做这个@Eran请非常感谢@Eran。。。我犯了多么愚蠢的错误。。。谢谢你帮我做这个@Eran请非常感谢@Eran。。。我犯了多么愚蠢的错误。。。感谢致电
modelInfo=newmodel()代码>在每个modelnfo.setId()调用modelnfo=newmodel()之前代码>在每个modelnfo.setId()调用modelnfo=newmodel()之前代码>在每个modelnfo.setId()调用modelnfo=newmodel()之前代码>在每个modelInfo.setId()之前