【问题标题】:Association list, Arraylist Java关联列表,Arraylist Java
【发布时间】:2014-12-28 04:48:28
【问题描述】:

我在这里创建了一个关联列表:

HashMap<Integer, String> PhoneNumber = new HashMap<>(); 

PhoneNumber.put(8559966, "Jill");
PhoneNumber.put(6669999, "James");
PhoneNumber(255666, "Dylan");

我想做的是在一个方法中调用这个列表,但我只想查看 String 的一半,Jill、James 和 Dylan。我不知道如何做到这一点。我知道如何将 ArrayList 调用到方法中,但不知道如何调用 HashMap 以及如何只查看字符串。

我想做的是这样的:

public String getJill(ArrayList<Integer> PhoneNumber){
    String h;
    for(int i = 0; i<PhoneNumber.size();; i++){
        if(PhoneNumber.values(i) == "Jill"){
            h = "Jill";
        }
        return h;
    }
}

【问题讨论】:

  • 将电话号码表示为int 是个坏主意。请改用String

标签: java methods arraylist hashmap


【解决方案1】:

你的意思是Map.values() 返回一个集合吗?

public static void main(String[] args) {
    Map<Integer, String> phoneNumber = new HashMap<>();
    phoneNumber.put(8559966, "Jill");
    phoneNumber.put(6669999, "James");
    phoneNumber.put(255666, "Dylan");
    for(String s : phoneNumber.values()) {
        System.out.println(s);
    }
}

在我的情况下输出:

Jill
Dylan
James

现在,如果您希望它们以相同的顺序放置在 Map 中,则必须使用 LinkedHashMap 而不是 HashMap

Map<Integer, String> phoneNumber = new LinkedHashMap<>();

那么你的输出将是:

Jill
James
Dylan

【讨论】:

  • 您好,我试过了,但我的包行出现错误提示“- java.util.Map$Entry 类型无法解析。它是从所需的 .class 文件中间接引用的”我导入了 HashMap
  • 我从来没有提到过Map.Entry 这是你代码中的其他地方吗?那么你必须导入它import java.util.Map.Entry;
  • 导入 java.uitl.* 时收到一些奇怪的错误消息;并尝试在我的主类中使用 HashMap、Map 或 LinkedHashMap
  • 可能是util这个词的拼写错误?
  • 哦,对不起,我在我的评论中拼写了它,但在我的程序中却没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-12
  • 1970-01-01
  • 2014-02-23
  • 2012-06-13
  • 2016-11-18
  • 1970-01-01
相关资源
最近更新 更多