Java 如何显示LinkedHashMap值

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

我在使用LinkedHashMap迭代和显示值时遇到了一个问题。 我有一个模型类,它具有属性的getter setter

这是我的主课

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()之前