我正在尝试找出可以检索HashMap中的值的顺序.下面是代码片段.
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
hashmap.put(1, "apple" );
hashmap.put(2, "lemon" );
hashmap.put(3, "orange" );
hashmap.put(4, "banana" );
hashmap.put(5, "litchi" );
hashmap.put(6, "mango" );
hashmap.put(7, "papaya" );
System.out.println(hashmap.size());
for (String key : hashmap.values()) {
System.out.println(key);
}
}
}
Run Code Online (Sandbox Code Playgroud)
7
apple
lemon
orange
banana
litchi
mango
papaya
Run Code Online (Sandbox Code Playgroud)
值按插入顺序打印.一般来说这是真的吗?我期待值以任意顺序打印.这是使用Java 6.
我试图只迭代我的Map中的第一个"n"值,是否有任何方法可用或我只需要使用count变量控制它.
下面是一个例子,我已经排序了一组属于同一个城市的名字.现在我只想要前10个城市和人名.
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
List<String> list = entry.getValue();
// Display list of people in City
}
Run Code Online (Sandbox Code Playgroud)
是否有可以保存固定数量的键值对的Map实现?请指点一下.
谢谢,
-Vijay Selvaraj
如何使用以下代码接受多个用户名和密码? if (value1.equals("username") && value2.equals("password"))
如果我使用:
HashMap<String, Integer> test = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)
或者我使用:
HashMap test = new HashMap();
Run Code Online (Sandbox Code Playgroud)
我可以在测试对象上应用的其他方法有什么不同.像test.put(),test.get()等,如果初始化不同??
此外,如果我在测试对象中放置一些东西,例如:
test.put("One", new Integer(5));
test.put("Two", new Integer(4));
test.put("Three", new Integer(3));
Run Code Online (Sandbox Code Playgroud)
并将其显示为:
设置set = tokens.entrySet();
Iterator ik = test.iterator();
while(ik.hasNext()){
Map.Entry me = (Map.Entry)ik.next();
System.out.println(me.getKey() + " : " + me.getValue() );
Run Code Online (Sandbox Code Playgroud)
结果没有排序,restul是:
三:3一:5两:1
它遵循什么规则?输出的这种正常行为是否随机显示?