为了以后便于查找,整理了一下,和大家共享!还有好的方式的话,望大家不吝指教,一起讨论!
public void convertDate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = "2008-08-08 20:00:00";
String endDate="2008-08-24 22:10:40";
Date sDate;
try {
sDate = sdf.parse(strDate);
Date eDate = sdf.parse(endDate);
long time=eDate.getTime()-sDate.getTime();
long total = time / 60/ 60 / 1000 / 24; // 计算天数的公式
System.out.println("天数差:"+total);
long minutes=time/1000/60;//总的分钟数
System.out.println("总的分钟数:"+minutes);
long mins=(long)minutes%60;//获取时间差的分钟数
System.out.println("时间差(分钟)"+mins);
long hours=time/1000/60/60;
System.out.println("总小时数:"+hours);
long hoursa=hours%24;
System.out.println("小时差:"+hoursa);
long ss=time/1000; //共计秒数
System.out.println("总秒数:"+ss);
int seconds=(int)ss%60;
System.out.println("秒数差:"+seconds);
// String startTime = sdf.format(Long.parseLong("1208275200000")).replace('-', '/')+" "+"02:00:00";// 转换成例如2008/06/18起始时间
// String endTime = sdf.format(Long.parseLong("1208275200000")).replace('-', '/')+" "+"05:00:00";// 转换成例如2008/06/18结束时间
// long time=new Date(endTime).getTime()-new Date(startTime).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
}
/*****************
* 获取某月的最大天数
******************/
public void calendar() throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
// 获得要查询的时间的月份的最大天数
Date date = sdf.parse("2008-08");
Calendar ymCalendar = Calendar.getInstance();
System.out.println("!"+ymCalendar);
ymCalendar.clear();
ymCalendar.setTime(date);
int dayOfMonthCount = ymCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(dayOfMonthCount);
}
冒泡排序:
//冒泡排序
public void sort(){
Map<Integer, Object> map = new HashMap<Integer, Object>();
map.put(1, "jackie");
map.put(8, "tracy");
map.put(3, "swift");
map.put(6, "cris");
map.put(5, "kidd");
//把Key集合转成数组
Object[] taxisArray = (Object[]) map.keySet().toArray();
// 把排序数组冒泡排序,从小到大排
int temp;
for (int i = 0; i < taxisArray.length; i++) {
for (int j = 0; j < taxisArray.length - i - 1; j++) {
int tempJ = Integer.parseInt(taxisArray[j].toString());
int tempJ2 = Integer.parseInt(taxisArray[j+1].toString());
if ( tempJ > tempJ2) {
temp = tempJ;
taxisArray[j] = taxisArray[j + 1];
taxisArray[j + 1] = temp;
}
}
}
//把排好的排序数组分别获得value存到list中
List<Object> sortList = new ArrayList<Object>();
for (Object taxis : taxisArray) {
sortList.add(map.get(taxis));
}
Iterator<?> iter=sortList.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
}
分享到:
- 2009-04-21 15:13
- 浏览 1315
- 评论(0)
- 论坛回复 / 浏览 (0 / 2502)
- 查看更多
相关推荐
在Java编程中,Map接口表示一组键值对的集合,它不保证元素的顺序,但有时我们需要...此外,了解和掌握不同的排序算法,如插入排序、选择排序、冒泡排序、归并排序、希尔排序和快速排序,也是提升编程能力的重要部分。
4.StringAndDate.java 字符串与时间对象的相互转换 5.JdbcConn.java java jdbc连接oracle/mysql 6.NioFile.java nio操作文件读写 7.ImageThumbnail.java 生成图片缩略图 8.JsonObjs.java json简单操作 9....
在面试中,可能会要求手写一个基本的排序算法,如冒泡排序或选择排序,以此来评估应聘者对排序算法原理的理解。例如,冒泡排序的基本思路是从第一个元素开始,比较相邻元素,并交换位置直到整个数组排序完成。 ####...
2. **数据结构与算法**:数组、链表、栈、队列、树、图等数据结构是解决问题的关键,而排序(如冒泡排序、快速排序、归并排序、堆排序)和查找(如线性查找、二分查找)算法则是优化问题解决效率的核心。理解并能...
日期和时间类在Java中也非常重要,因此笔记中也包括了Date类、Calendar类、SimpleDateFormat类和DateFormat类的相关知识。 另外,Java的集合框架是管理对象集合的基础,笔记中介绍了Collection集合框架,以及List、...
同时,掌握基本的排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)和查找算法(线性查找、二分查找等)对解决问题至关重要。 通过以上知识点的学习和实践,大二下学期的Java考试将不再遥不可及。...
在Java中,核心类是java.lang.Class,它代表正在运行的Java应用程序中的类和接口。 20. 得到Class的三个过程是什么? 通过类的名称获取、通过对象实例获取、通过Class类的静态方法获取。 21. 如何唤起类中的一个...
- 排序和查找算法:理解冒泡排序、选择排序、插入排序、快速排序、二分查找等。 4. **多线程**: - 线程的创建:通过实现Runnable接口或继承Thread类创建线程。 - 线程同步:掌握synchronized关键字、wait()、...
10. **算法与数据结构**:虽然不是Java专有,但面试中也会涉及到排序算法(冒泡、快速、归并)、查找算法(二分查找)、树(二叉树、红黑树)等,它们是解决复杂问题的基础工具。 以上这些知识点构成了Java面试的...
类加载器 ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap 序列化和反序列化 可变参数 类型通配符 ...
同时,了解冒泡排序、选择排序、插入排序、快速排序、归并排序等经典排序算法,以及二分查找等查找算法,能够帮助开发者根据具体需求选择最适合的解决方案。 9. **递归与分治策略**:递归是解决复杂问题的强大工具...
- **排序算法**:学习选择排序和冒泡排序,以及如何使用Arrays工具类进行排序。 - **二维数组**:学习二维数组的声明、初始化和遍历,了解其在实际问题中的应用。 **第三阶段:面向对象** - **面向对象思想**:理解...
4.6 Date类和Calendar类:Java中处理日期和时间的基本类。 4.7 SimpleDateFormat类和DateFormat类:提供日期时间格式化的功能。 4.8 包装类:Java提供了针对八种基本数据类型的包装类,例如Integer、Long等。 4.9 ...
《Java数据结构和算法中文第二版》是一本深入探讨如何在Java编程环境中理解和应用数据结构与算法的权威著作。本书的第二版针对初学者和有经验的开发者进行了全面的更新和改进,旨在帮助读者掌握核心的算法思想和数据...
- **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。它们各有优缺点,适用于不同场景。 - **查找算法**:线性查找、二分查找、哈希查找等,其中二分查找适用于有序数组,哈希查找...
- **冒泡排序**:通过不断交换相邻元素的位置来逐步将最大值“浮”到数组的末端。 - **插入排序**:从数组的第二项开始,将每一项插入到前面已排序的数组中合适的位置。 - **快速排序**:选择一个基准值,将数组...
Java是一种广泛使用的面向对象的编程语言,其设计...总之,Java面试中会涉及语言基础、面向对象特性、JVM、类加载、数据类型转换、排序算法等多个方面,深入理解和掌握这些知识点是成为一名合格Java开发者的必备条件。
6. **IO流**:Java的输入/输出系统包括字节流和字符流,面试者应熟悉各种流的层次结构、缓冲流、转换流和对象序列化。 7. **反射机制**:反射是Java的高级特性,允许程序在运行时动态地获取类的信息并操作类的对象...
IO流是Java处理输入输出的主要方式,包括字符流和字节流、缓冲流、转换流、对象流等,以及NIO(New IO)的相关概念。 网络编程可能涉及到TCP/IP协议、套接字编程、HTTP协议等,这对于开发网络应用的Java程序员至关...
字符串截取和格式化,获取当前时刻、日期、毫秒数,以及编码转换都是Java中常见的操作,涉及到String类的常用方法和Java.util包下的相关类。 创建对象时,每个new String("xyz")都会创建一个新的String对象,而...