/*JavaAPI总结:application programming interface应用程序编程接口 sun公司提供给我们用的程序
一、String、StringBuffer、StringBuilder
1、String类是字符串常量
2、String池:String s = "abc" 和String s = new String("abc")的区别
3、String类的常用方法:charAt、indexOf、toCharArray、substring、split、compareTo、equals
4、StringBuffer:字符串容器,长度可变,一般用于字符串的增减删的操作。reverse方法反向
String s = "abc"; s = s + "xxx";//String长度不可变,因为是常量
5、StringBuilder线程不安全,StringBuffer线程安全
二、集合类
|-Iterable:实现增强for循环
|--Collection:单列,按照一种或多种规则来存储一系列元素
|---List:有序,允许有重复元素
|----AbstractList:抽象类,实现了iterator方法。
|-----ArrayList:数组实现,查找块,增删慢
|-----Vector:和ArrayList一样,只是线程安全
|-----LinkedList:链表实现,查找慢,增删块
|---Set:无序,不允许有重复元素
|----HashSet:通过哈希算法保证元素不重复,对象要正确重写equals和hashCode方法
|----TreeSet:通过树状结构保证元素不重复,两种方式
1、按照元素的自然顺序进行排序,前提是元素具备比较功能,实现了Comparable接口的compareTo方法
2、在构造TreeSet实例时,传入一个比较器,实现Comparator接口的compare方法
|-Map:保存的是键值对应关系,其中键不允许有重复,可以通过keySet方法拿到一个包含所有键的Set
再调用get(key)方法通过键拿到value
|--HashMap:通过HashSet的原理保证键不重复。
|----HashTable:同上,但是线程安全。
|--TreeMap:通过TreeSet的原理保证键不重复
|--Properties:用于读取配置文件,不需要声明泛型,因为键和值都只能为String类型。
list方法将集合中的配置项输出到一个打印流
load方法将一个输入流中的配置项存到集合中
Jdk1.5新特性泛型,减少集合存元素时错误发生的几率。
Jdk1.5出现Iterable,为了实现增强for循环 for(元素类型 变量:集合或数组)
工具类:
Collections:集合工具类,sort、binarySearch、reverse
Arrays:数组工具类,sort。。。。
三、包装类
1、Integer x = 0;x = x + 1; 装箱-拆箱-装箱(jdk1.5)
2、Interger.parseInt(String)将字符串转为int型
四、System类
1、System类的常用方法:gc()垃圾回收、exit(0)终止程序、currentTimeMillis()获得自1970年1月1日零时
以来的毫秒数、getProperty方法获得系统属性。
2、两个静态成员变量:in和out
in:标准输入流,InputStreamReader类型
out:标准打印流,PrintStream类型
五、Runtime类
表示运行时,exec方法,在后台新开启一个窗口运行命令,是当前窗口的子窗口,继承所有窗口属性
六、日期对象
1、Date:大部分方法已过时,用new Date()创建日期对象表示当前时间
2、DateFormat:将日期格式化,抽象类
DateFormat df = DateFormat.getInstance(); String dateStr = df.format(new Date);
3、Calendar对象:
Calendar c = Calendar.getInstance();
可以将类中定义的常量当做参数传入get和set方法来获得和设置时间。
add方法,增加时间值,具体增加哪一项,就看传入的常量,调用完此方法,时间对象就被改变了。
*/