常用类、集合框架
1.常用类
1.1 String、stringbuilder、stringbuffer
可变性:String是不可变的字符串,stringbuilder、stringbuffer都有字符串缓冲区,所以长度可变,由apend和insert方法添加元素实现。
线程安全性:stringbuilder一般用在单线程,多线程使用时不保证线程安全,但效率高;stringbuffer一般用在多线程,多线程使用时可保证线程安全,但效率低。
数据量大小性:String用于操作数据量较小时,stringbuilder和stringbuffer用于操作数据量较大时。
方法共性:stringbuilder和stringbuffer的方法都一样,只是stringbuffer的方法多了个同步锁以保证线程安全。
1.2 Date、SimpleDateFormat、Calendar
1.3 String.intern()方法详解
package Access;
public class Test {
public static void main(String[] args) {
String str1 = new StringBuilder("58").append("tongcheng").toString();
System.out.println(str1);
System.out.println(str1.intern());
System.out.println(str1 == str1.intern());
System.out.println();
String str2 = "java";
System.out.println(str2);
System.out.println(str2.intern());
System.out.println(str2 == str2.intern());
System.out.println();
}
}
1.4 string3种比较方法
package Access;
public class Test {
public static void main(String[] args) {
String s1 = "Hello";
String s2 = new String("Hallo");
System.out.println(s1.equals(s2));
System.out.println(s1==s2);
System.out.println(s1.compareTo(s2));
}
}
2.集合框架
1.单列集合:Collection、List、Set、ArrayList、LinkedList、HashSet、TreeSet、LinkedHashSet、
2.双列集合:Map、HashMap、linkedHashMap、Properties(Hashtable的子类)
1.1 Collection接口实现了迭代器Iterable,重写了forEarch方法实现增强for循环,所以其子类可以使用普通for循环、迭代器(Iterator)、增强for循环。
1.2 List(元素有序,可重复),两个子类分别为ArrayList和linkedList。ArrayList底层采用数组结构(查询快、增删慢),linkedList底层采用双向链表结构(增删快、查询慢)
1.3 Set(元素无序,不可重复)