14. StringBuffer:就是字符串缓冲区。具备增删改查的功能。用于存储数据的容器。
特点:
1,长度的可变的。
2,可以存储不同类型数据。
3,最终要转成字符串进行使用。
4,可以对字符串进行修改。
StringBuffer和StringBuilder不同的是:
StringBuffer是线程同步的。通常用于多线程。
StringBuilder是线程不同步的。通常用于单线程。它的出现提高效率。
15.基本数据类型对象包装类:
该包装对象主要用基本类型和字符串之间的转换。
基本类型转换为字符串
1,基本类型数值+""
2,用String类中的静态方法valueOf(基本类型数值);
3,用Integer的静态方法valueOf(基本类型数值);
字符串转换为基本类型
1,使用包装类中的静态方法 xxx parseXxx("xxx类型的字符串"); 只有Character没有parse方法
2,如果字符串被Integer进行对象的封装。
可使用另一个非静态的方法,intValue();
将一个Integer对象转成基本数据类型值。
Jdk1.5后,自动装箱,如果装箱的是一个字节,那么该数据会被共享,不会重新开辟空间。
16.集合:集合框架图:
特点:存储对象;长度可变;存储对象的类型可不同;
Collection
List: 有序的;元素可重复,有索引; ArrayList:底层是数组结构,查询快,增删慢,不同步。LinkedList:底层是链表结构,增删快,查询慢,不同步
Set: 无序的,无索引,元素不可重复;HashSet:底层是哈希表,线程不同步,无序、高效
TreeSet:底层是二叉树,可对元素进行排序,默认是自然顺序;保证元素唯一性的方法:HashSet:通过元素的hashCode和equals方法。若hashCode值相同,则会判断equals的结果是否为true,hashCode不同,不会调用equals方法;TreeSet: Comparable接口的compareTo方法的返回值;
Map:
HashTable:底层数据结构是哈希表,不可存入null键和null值。同步的Properties继承自HashTable,可保存在流中或从流中加载,是集合和IO流的结合产物
HashMap:底层数据结构是哈希表;允许使用null键和null值,不同步,效率高
TreeMap:底层数据结构时二叉树,不同步,可排序与Set很像,Set底层就是使用了Map集合
两者的去别:
Collection:单列集合,一次存一个元素
Map:双列集合,一次存一对集合,两个元素(对象)存在着映射关系
Collections和Collection区别:
Collections:java.util下的工具类,实现对集合的查找、排序、替换、线程安全化等操作。
Collection:是java.util下的接口,是各种单列集合的父接口,实现此接口的有List和Set集合,存储对象并对其进行操作。
---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------