A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© GoldMan 中级黑马   /  2015-6-11 21:42  /  281 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,数据和集合类
ArrayList的排序可用Collection.sort(arraylist)方法,这个方法按首字母排序.
比较可用lang---->Comparable---->CompareTo(Object o)或util---->Comparator---->Compare(o,o)/equals(o)
要想成功地从Hashtable中检索数据,用作关键字的对象必须正确覆盖了Object.hashCode方法和Object.equals方法.hashCode方法返回一个叫散列码的值.要想两个内容相同的Object子类对象的hashCode方法返回一样的散列码,子类必须覆盖Object.hashCode方法,用于关键字的类,如果它的两个对象用equals方法比较是相等的,那么这两个对象的hashCode方法返回值也要一样,所以我们也要覆盖hashCode方法,因为String类己按关键字类的要求覆盖了这两个方法,StringBuffer类没有按照关键字的要求覆盖hashCode方法,所以我们不能用StringBuffer作为关键字类.
下面列出Java中集合的几个特性:
1,HashSet:无序不重复
2,TreeSet:有序不重复
3,ArrayList/Vector:有序可重复
4,LinkedList:有序可重复
5,HashMap/HashTable:主键唯一且无序
6,TreeMap:主键唯一有序
有序则要实现Comparable或Comparator接口,唯一则要覆盖hashCode和equals方法,TreeSet是先排序再存放数据,HashSet的元素要求要覆盖hashCode()和equals()方法,它是先找hashCode再存放数据.
实现排序有三种方法:数组,链表,堆栈类
2,系统常用类System和Runtime
Java不支持全局方法和变量,System类中的所有成员都是静态的,它里面的方法介绍如下:
1,exit(int status):提前终止虚拟机的运行.
2,currentTimeMillis:返回自1970年1月1日0时0分0秒起至今的以毫秒为单位的时间.
3,getProperties:获得当前虚拟机的环境属性
Runtime类封装了Java命令本身的运行进程,可以通过Runtime.getRuntime方法获得正在运行的Runtime对象的引用.使用Runtime可以调用其他程序.看下面的例子.
public class TestRuntime
{
public static void main(String[] args)
{
   Process p = null;
   try{
    p = Runtime.getRuntime().exec("notepad.ext TestRuntime.java");
    Thread.sleep(5000);
   }catch(Exception e){
   }
   p.destory();
}
}
上面的程序运行后启动一个子进程,用notepad打开了源程序,并在5秒钟后销毁该子进程,记事本程序被关掉.
3,日期操作常用类Date,Calender,DateFormat
Calendar类是一个抽象基类,主要用于完成日期字段之间相互操作的功能,如在某一日期的基础上增加基加若干日,月,年,时,分,秒,产生新的日期;Calendar.getInstance方法可以得到一个当前时间的GregorianCalender类对象,它是Calendar的子类.
java.text.DateFormat可以将一个日期格式化输出,java.text.SimpleDateFormat是它的子类,它可以把Date对象格式化为本地字符串,或者通过语法分析将一个字符串转成Date对象.
4,数学运算常用类Math,Random
Math类包含了所有用于几何和三角的浮点运算方法,这些方法是静态的.
Random是用于产生随机数的类,Java设计者在Random类的Random()构造方法中使用当前时间来初始化Random实例,因为没有任何时刻的时间是相同的,所以就可以减少随机数序列相同的可能性.

2 个回复

倒序浏览
总结的太好了
回复 使用道具 举报
。。。过来学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马