public class Test6 {
public static void main(String[] args) {
String[] arrStr1={"00000004", "暂无姓名"};
String[] arrStr4={"00000004", "暂无姓名"};
String[] arrStr2={"2011-10-10", "08:08:59"};
String[] arrStr3={"2011-10-10", "18:08:59"};
Map<String[], String[]> map=new HashMap<String[], String[]>();
map.put(arrStr1, arrStr2);
map.put(arrStr4, arrStr3);
Iterator it=map.keySet().iterator();
while (it.hasNext()) {
String[] key=(String[]) it.next();
String[] value=(String[]) map.get(key);
System.out.println(Arrays.toString(key)+" "+Arrays.toString(value));
}
}
}
如何在key一样的情况下。并且value的第零个元素 也就是日期相等的情况下 计算时间差
解决方案 »
- 时间点问题
- J2SE--用JAVA流如何将一个文件拷贝到别的地方-->清高手指教
- 求1-100之间的素数,(在线等)
- Process p = Runtime.exec() 后如何终止子进程p?
- 求助:能够实现在awt/swing窗口中打开eclipse开发的窗口吗
- 请问在tomcat的webapps下新见自己的目录后要怎么部署web.xml,为什么总是出现404错误,
- 高手指点!在线等!
- 关于java SWT 的Shell窗体如何添加窗体阴影效果(不含系统样式)求示例
- ##### java 网络编程使用 socks 代理的问题 #####
- 简单的问题:java的类怎么设置!!!谢谢!!!
- 小弟初接触多线程,这段代码的输出不懂
- 对于公司的抉择
在map中key能一样吗?不太明白你的意思
因为key是使用数组存储的,只要地址不一样,而输出一样。
我的意思是如何在key输出一样的情况下,比较value
正如3楼,用list来操作
public class Test6 {
public static void main(String[] args) {
String[] arrStr1={"00000004", "暂无姓名"};
String[] arrStr4={"00000004", "暂无姓名"};
String[] arrStr2={"2011-10-10", "08:08:59"};
String[] arrStr3={"2011-10-10", "18:08:59"};
Map<String[], String[]> map=new HashMap<String[], String[]>();
map.put(arrStr1, arrStr2);
map.put(arrStr4, arrStr3); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<String[][]> list = new ArrayList<String[][]>();
for (Map.Entry<String[], String[]> entry : map.entrySet()) {
list.add(new String[][]{entry.getKey(), entry.getValue()});
} for (int i=0; i<list.size(); i++) {
String[] key1 = list.get(i)[0];
String[] value1 = list.get(i)[1]; for (int j=i+1; j<list.size(); j++) {
String[] key2 = list.get(j)[0];
String[] value2 = list.get(j)[1]; if (Arrays.equals(key1, key2) && value1[0].equals(value2[0])) {
Date d1 = sdf.parse(value1[0] + " " + value1[1]);
Date d2 = sdf.parse(value2[0] + " " + value2[1]);
long dif = Math.abs(d1.getTime() - d2.getTime());
System.out.printf("key1=%s, value1=%s\n", Arrays.toString(key1), Arrays.toString(value1));
System.out.printf("key2=%s, value2=%s\n", Arrays.toString(key2), Arrays.toString(value2));
System.out.printf("hour:%d, minute:%d, second:%d\n",
(dif/1000)/3600, ((dif/1000)%3600)/60, (dif/1000)%60);
}
}
}
}
}