我在遍历一个Map集合的时候
例如说一个Map里面有1,2,3,4,5五个元素
在遍历的时候,便利到1的时候我需要取1和2两个元素,在遍历2的时候要取2和3两个元素,以此类推
该怎么实现?
例如说一个Map里面有1,2,3,4,5五个元素
在遍历的时候,便利到1的时候我需要取1和2两个元素,在遍历2的时候要取2和3两个元素,以此类推
该怎么实现?
解决方案 »
- 帮忙解释下thinking in java里的一句话
- 请教个小问题
- 关于等差数列和的问题
- netbeans相对路径
- 自己编写一个小游戏中遇到一点问题,涉及知识点(画布,线程,键盘监听),这是其中一点,有点疑问。问问大家,谢谢帮我看看
- 一个计算薪水的程序有错误,大家帮忙看看
- resultset中比较大的数据的解决问题
- 在servlet中如何调用jsp和html?谢谢
- 以下代码在JBuilder5可以正常运行,可是在ie却显示不出,不知是怎么回事?
- java 序列化与对象克隆
- 听说jdk1.6对线程池有个什么优化来着,有人知道么?
- Java I/O流中字节流与字符流区别以及关于.read( )方法的使用
m.put("o1", 1);
m.put("o2", 2);
m.put("o3", 3);
m.put("o4", 4);
m.put("o5", 5);
Set keySet = m.keySet();
for (Iterator it = keySet.iterator(); it.hasNext();) {
Object one = m.get(it.next());
Object two;
if (it.hasNext()) {
two = m.get(it.next());
}
}
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(1, 1);
map.put(2, 2);
map.put(3, 3);
map.put(4, 4);
map.put(5, 5);
for (Integer i : map.keySet()) {
System.out.print(map.get(i));
if(i+1<=map.size()){
System.out.print(",");
System.out.println(map.get(i+1));
}
}
map.put(1, 1);
map.put(2, 2);
map.put(3, 3);
map.put(4, 4);
map.put(5, 5);
for (Integer i : map.keySet()) {
System.out.printf("%d, %d\n", map.get(i), map.get(i==5 ? 1 : i+1));
}
由于map是以键值形式存储的,所以如果键是字符串的话要满足你的要求也必须是字符形式的数字
稍加修改就行了:
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("1", 1);
map.put("2", 2);
map.put("3", 3);
map.put("4", 4);
map.put("5", 5);
for (String i : map.keySet()) {
System.out.print(map.get(i));
if(Integer.parseInt(i)+1<=map.size()){
System.out.print(",");
System.out.println(map.get(Integer.parseInt(i)+1+""));
}else{
System.out.print(",");
System.out.println(map.get("1"));
}
}