2016-10-03 56 views
0
public class myclass 
{ 
public static void main(String[] args){ 
    Scanner scan = new Scanner(System.in); 
    int array1[] = new int[4]; 
    System.out.println("Enter some integers"); 
    for(int i = 0; i <array1.length; i++){ 
     array1[i] = scan.nextInt(); 
} 
Arrays.sort(array1); 
    HashMap<String, Integer> map = new HashMap<>(); 
    map.put("IdOne", array1[0]); 
    map.put("IdOne", array1[1]); 
    map.put("IdOne", array1[2]); 
    } 
}  

我希望能够将我输入到数组中的值与Hashmap中的键一起打印出来。 输出示例:如何打印出此散列表中的键和值?

输入一些整数

吡咯烷酮2

吡咯烷酮3

吡咯烷酮5

回答

0

首先,获得条目

someMap.entries(); 

然后循环在他们

for (Map.Entry entry : someMap.entries()) { 
    // do something 
} 

然后打印键和值

for (Map.Entry entry : someMap.entries()) { 
    System.out.println("key: %s, value: %s\n", entry.getKey(), entry.getValue(); 
} 
+0

请注意,您的地图被不正确地使用。地图中的条目具有“键”,逻辑上它是用于访问或更新“值”的“位置”。通过将所有值放入相同的位置('IdOne'),您可以确保先前的值被覆盖。 –

+0

对于将一个Key分配给一组值的方法,您有任何建议吗?除了哈希映射之外,还有什么可以让我做到这一点吗? – trevor01010010

+0

“映射”是一种数学函数,定义为一个键只返回一个值。你想要的是一个可能返回一个,两个或更多值的关键字。我会推荐一个返回集合的地图,然后将这些值添加到地图中的集合“值”。 –