HashMap中具有相同键的不同对象将全部移动到ArrayList

时间:2015-04-29 12:29:23

标签: java arraylist hashmap

我今天早些时候创建了一个帖子,但它被标记为DUPLICATE,甚至在我的编辑之后我没有得到任何回复。因此,我会尝试更加具体地解决我的问题..

关于我班级的信息

我有一个名为Place的类,它扩展了一个我称之为Position的类,它类似于Point类,它有x和y坐标。 现在我创建了一个扩展Place的新类,名为NamedPlace和DescPlace,它们并没有多大区别,只是DescPlace有描述并且NamedPlace没有...

我的问题

我需要创建一个HashMap,我可以将创建的对象放入其中。我试过这样的hashMap HashMap<String, Place> placeMap = new HashMap<>(); 这个工作正常,但是当我创建一个名为 Pizza Resturant 的新NamedPlace时会出现问题,稍后我会添加另一个名为 Pizza Resturant 的地方。现在,我的HashMap中有两个不同的对象和相同的键

我想做什么

我在搜索字段中输入名称,这是我的HashMap的关键字,并将具有该名称的所有对象添加到ArrayList中,我无法逐个浏览这些对象改变一切。就像我在这里完成的那样,但是在这里我只使用一个arrayList,我需要有一个存储所有对象的HashMap,我会在其中进行搜索..

    class SearchLis implements ActionListener{
    public void actionPerformed(ActionEvent ave){
        for(int x = 0; x<placeList.size(); x++){
            if(placeList.get(x).getHighlighted()==true){
                placeList.get(x).setHighlighted(false);
            }
        }
        String search = searchField.getText();
        for(int i = 0; i<placeList.size(); i++){
            if(placeList.get(i).getName().equals(search)){
                placeList.get(i).setHighlighted(true);
                mp.repaint();
            }
        }

0 个答案:

没有答案