关于下面的代码,我有两个问题,
1.我在哈希图中有两次键“二”,打印时,“二”只显示一次。为什么它没有显示“二”两次?
2.如何选择性地显示键“二”?
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class main {
public static void main(String[] args){
HashMap<String,String> myMap = new HashMap<String,String>();
myMap.put("one", "1");
myMap.put("two", "2");
myMap.put("three", "3");
myMap.put("two", "4");
Set <String> mySet =myMap.keySet();
Iterator itr = mySet.iterator();
while(itr.hasNext()){
String key = (String) itr.next();
System.out.println(key);
}
}
}
Hashtable
和HashMap
是一对一的键值存储。这意味着对于一个键,您只能有一个元素。您仍然可以通过以下方式实现您想要的:
HashMap<String, List<String>>
当您将元素添加到映射时,您必须将其添加到该键的列表中,即。
public void add(String key, String value) {
List<String> list = map.get(key);
if (list == null) { //if the list does not exist, create it, only once
list = new ArrayList<String>();
map.put(key, list);
}
list.add(value);
}
现在,当你想用这个键得到所有的元素时:
List<String> elements = map.get("two");
该列表将包含您添加的所有元素。
Hashmaps的键集中每个键只能有一个键条目。第二次在map中放置一个键-值对将会覆盖第一次使用的键。
如果您想要一对多的映射,您可以使用一个Multimap或一个HashMap,将一个对象映射到一个对象集合(尽管Multimap很可能使您更容易做到这一点)
要显示给定键的值,请使用:
System.out.println(myMap.get(myKey));
System.out.println(myMap.get("two"));
问题内容: 我正在尝试在数据表中显示Hashmap,这是我要尝试的操作:我将具有一些产品的选择菜单,以及数量的输入文本,还有一个“ ajaxified”添加按钮,用于添加产品和它的数量到地图上,以及一个提交按钮,显示一个摘要对话框,其中包含一个包含两列的数据表:产品名称和数量。我的哈希图是 对于Ajaxified按钮和所有这些第一步,它们正在为我工作,我已设置了所有内容,并且正确填充了地图,剩
我的应用程序:有两个活动,一个创建两个字符串(名称和消息),这两个字符串被保存到hashmap中,传输到JSON中,并保存在SharedPreference中。另一个活动获取这个SharedPreference,再次将其转移到hashmap中。然后地图被迭代器“读出”。 应该是:我的想法是,如果我多次执行这个过程,迭代器就会“读出”HashMap中的所有条目。
我正试图从Java代码生成Swagger文档,我的嵌套模型属性之一是HashMap。生成的示例如下所示: 我需要它看起来像是: 换句话说,我需要告诉他们additionalProp字符串应该是什么,最好不要重复三次。有没有办法用夸张的注释来做到这一点?我不想硬编码一个完整的例子,因为CustomObject本身有很多属性,而且仍然在不断变化。有没有可能按照 (除了真正有效的东西)? 我尝试过以这种
以下是相关的更新代码位。正如用户carmickr所建议的,我使用DefaultListModel来处理地址簿HashMap中的数据。 然后在UserInterface构造函数内部:
问题内容: 这是一个简单的问题,我有一个简单的HashMap,我想将其反转键和值。 我想创建一个新的HashMap,在其中放置相反的内容。 问题答案: 它们都是独一无二的,是的 如果您确定自己的值是唯一的,则可以遍历旧地图的条目。 另外,您可以使用Guava提供的双向地图,并使用方法: 随着java-8的发布,您也可以通过以下方式进行操作: 最后,我将我的贡献添加到了质子包装库中,该库包含Stre
问题内容: 键盘出现时如何显示完整的列表?键盘隐藏了列表的下部。 我的列表行中有一个textField。当键盘出现时,无法向下滚动以查看完整列表。键盘在列表的前面,而不在列表的“下面”。这是我的编码: 有人可以帮我怎么做吗? 非常感谢你。 问题答案: 这里有一个处理键盘操作的,您可以订阅这样的键盘事件: 然后像这样使用它: