gpt4 book ai didi

java - 将 HashMap 键值 (String) 转换为 Vector

转载 作者:行者123 更新时间:2023-11-30 06:10:09 24 4
gpt4 key购买 nike

我有一个 hashmap 声明为:

HashMap<String, Double> hm = new HashMap<String, Double>();

我将 Vector 声明为:

 Vector<String> productList = new Vector<String>();

现在,我正在尝试将键添加到 vector 中:

  Set set = hm.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
//System.out.print(me.getKey() + ": ");
productList.add(me.getKey());
//System.out.println(me.getValue());
}

//hm is the HashMap holding the keys and values.

当我编译代码时出现以下错误:

ProductHandler.java:52: error: no suitable method found for add(Object)
productList.add(me.getKey());
^
method Collection.add(String) is not applicable
(argument mismatch; Object cannot be converted to String)

在尝试将其添加到 vector 之前,我们是否需要将值转换为字符串类型?我错过了什么吗?

最佳答案

首先,您可以使用 Vector(Collection<? extends E) 在一行中完成构造函数和对 Map.keySet() 的调用喜欢

Vector<String> productList = new Vector<>(hm.keySet());

其次,您应该更喜欢 ArrayList 1

List<String> productList = new ArrayList<>(hm.keySet());

1除非您与多个线程共享此列表,否则添加与 Vector 的同步是成本

关于java - 将 HashMap 键值 (String) 转换为 Vector <String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36368533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com