StringBuffer对象是一个容器。
特点:
1.长度可以变化的。
2.可以字节操作多个数据类型。
3.最终会通过toString方法变成字符串。
对于容器都有 CURD : create update read delete
1.存储。
append ( ) :将指定数据作为参数增添到已有数据结尾处
insert ( index , 数据 ) :将数据插入到指定index 位置
2.删除。
delete (start , end):删除缓冲区的数据,包含start,不包含end。
deleteCharAt(index):删除指定位置的字符。
3.获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4.修改。
replace(start,end,string)
void setChatAt(int index,char ch)
5.反转。
StringBuffer reverse();
6.缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin,int srcEnd,char [ ] dst,int dstBegin)
JDK1.5版本之后出现了StringBuilder
StringBuffer是线程同步的
StringBuilder是线程不同步的
以后建议使用StringBuilder
JDK升级的三个原因:
1.提高效率
2.简化书写
3.提高安全性
基本数据类型对象包装类
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
基本数据类型对象包装类的最常见作用就是用于基本数据类型和字符串类型之间的转换
基本数据类型转化成字符串类型。
基本数据类型+“”
基本数据类 . toString(基本数据类型值)
如: Integer . toString(34) //将整数转换成字符串
字符串转换成基本数据类型。
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt("123");
boolean b = Boolean.parseBoolean("true");
十进制转换成其他进制:
toBinaryString();
toBexString();
toOctalString();
其他进制转化为十进制:
parseInt(string , radix);
集合类:
为什么出现集合类?
面对对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象进行操作,就对对象进行存储,集合就是存储对象最常用的一种方法。
数组和集合同时容器有什么不同?
数组虽然可以储存对象但是长度固定,集合长度可变。
数组中可以存储基本数据类型,集合只能储存对象。
集合类的特点:
集合只能储存对象,集合长度是可变的,集合可以储存不同数据类型的对象。
Collection:
List:元素是有序的,元素可以重复,因为该集合体系有索引
Set:元素是无序的,元素不可以重复。
List:特有方法。凡是可以操作角标的方法都是该体系特有的方法。
增:add(index,element);
addAll(index,Collection);
删:remove(index);
改:set(index,element);
查:get(index);
subList(fome,to);
listIterator();
LinkedList:特有方法
addFirst();
addLast();
getFirst();
getLast();
获取元素,但不删除,如果集合中没有改元素,会出现异常。
removeFirst();
removeLast();
获取元素,但是改元素被删除,如果集合中没有改元素,会出现异常。
在JDK1.6出现了替代方法:
offerFirst();
offerLast();
peekFirst();
peekLast();
pollFirst();
pollLast();
获取元素,但是改元素被删除,如果集合中没有改元素,会返回null。
Set:元素是无序的(存入和取出的顺序不一定一致),元素不可重复。
HashSet:底层数据结构是哈希表
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法:hashCode和equals来完成(对于元素的是否存在以及删除等操作都是依靠这个完成的)
1.如果元素的哈希值相同才会判断equals是否为true
2.如果元素的哈希值不相同,不会判断equals
Set集合的功能和Collection 是一致的。