Arrays工具类
排序方法
String[] string = {"abc","nba","cba","aba"};
// 使用工具类Arrays的排序方法
Arrays.sort(string);
查找方法
int[] array = {11,22,33,44,55,66};
// 返回值 负数 说明数组中没有要找的这个数
// 实际上返回的是 -(应该放的角标位置 + 1)
int index = Arrays.binarySearch(array, 56);
StringBuffer 字符串缓冲区
作为一个字符容器,可以对数据进行临时存储。
特点:
1.长度可以变化。
2.可以通过指定方法对内容进行修改。
3.容器对象一般都会具备对容器中的元素进行操作的功能。
4.缓冲区可以存储不同类型的数据。
5.最终缓冲区存储完的数据都会变成字符串。
StringBuffer的常见方法:
拼接方法:
// 创建一个StringBuffer对象
StringBuffer sb = new StringBuffer();
sb.append("wacxzcas").append(false);
append(可以传入各种数据)。
插入方法:
sb.insert(4, "da").append("nb");
由于方法的返回值是StringBuffer类型的,在调用了一个方法之后可以继续通过.来调用方法。
删除方法:
1.删除某一段
// 删除
StringBuffer sb = new StringBuffer("sdwcacxad");
// 实际删除的是[0,2] [0,3)
// 传入结束坐标 > 字符串的长度 相当于清空字符串
sb.delete(0, 3);
System.out.println(sb);
2.删除某一个字符
// 注意:传入的是要删除的字符的角标
sb.deleteCharAt(2);
System.out.println(sb);
替换方法:
// 替换
StringBuffer sb = new StringBuffer();
sb.append("wsfglong");
sb.replace(0, 4, "cheng");
和删除方法一样传入的坐标是左闭右开。
什么时候使用字符串缓冲区:
数据很多,个数未确定,类型未确定,只要最后都转成字符串,就使用StringBuffer。
使用的局限性:
1.最终必须转成字符串。
2.无法对存储进来的元素进行单独操作。因为存储进来的元素都变成字符串。
JDK1.5以后,出现了StringBuilder,StringBuilder和StringBuffer用法一样。StringBuffer是线程同步的,StringBuilder是线程不同步的。一般选择StringBuilder,因为速度快。
String、StringBuffer、StringBuilder三个操作字符串的类,当做参数时的效果也不太相同。字符串在当参数的时候 和基本数据类型一样,是值得传递,StringBuffer、StringBuilder相当于传对象地址。
基本数据类型的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
基本类型的包装类的作用:有类就能增加成员方法 静态方法,功能也能进行扩展。还有一个重要功能就是在基本类型和String类型之间互相转换。
字符串转成基本数据类型使用的是parse基本类型("字符串")。
JDK1.5以后,有了新的技术:自动装箱,自动拆箱。有了这些技术后,可以像操作int一样操作Integer。
Integer i = 4; // 自动装箱 Integer.valueOf(4);
i = i + 6; //右边i自动拆箱 i.intValue() + 6 运算结果又一次装箱赋值给i
自动装箱的值如果在byte范围之内,相同的值不会单独开辟空间,而是重复使用。
集合(容器)
1.单列集合
2.双列集合
为什么会出现集合类:
面向对象语言对事物的体现都是以对象的形式,所以为了方便多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。
数组的弊端:
1.长度一旦确定,不能变;
2.只能保存相同数据类型的元素。
集合的好处:
1.长度可变;
2.可以存放不同类型的元素。
集合关系图:
Collection接口中的共性功能
1.添加
boolean add(object o); //一次加一个
boolean add(Collection c); //将制定容器中所有元素添加
2.删除
void clear(); //移除此Collection中所有元素
boolean remove(object o); //移除指定元素的单个实例 3.获取长度
int size();
4.判断
boolean isEmpty(); // 判断是否为空
boolean contains(object o); //判断是否包涵
5.将集合转成数组
toArray();