一、StringBuffer:线程程安全的可变字符序列
线程安全 --->同步的---->执行效率低
1、StringBuffer的构造方法:
StringBuffer() :无参构造的形式,初始容量16
StringBuffer(int capacity) :指定容量构造一个字符串缓冲区
StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容
StringBuffer() :无参构造的形式,初始容量16
StringBuffer(int capacity) :指定容量构造一个字符串缓冲区
StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容
2、StringBuffer的获取功能:
public int length()返回长度
public int capacity()返回当前容量 (如果超过容量,系统自动分配(存储字符串的时候,英文的))
public int length()返回长度
public int capacity()返回当前容量 (如果超过容量,系统自动分配(存储字符串的时候,英文的))
3、StringBuffer的添加功能
(常用)public StringBuffer append(String/boolean....) :在字符串缓冲区中追加数据(在末尾追加),并且返回字符串缓冲区本身
public StringBuffer insert(int offset,String str):将当前str字符串添加到指定位置处,它返回字符串缓冲区本身
(常用)public StringBuffer append(String/boolean....) :在字符串缓冲区中追加数据(在末尾追加),并且返回字符串缓冲区本身
public StringBuffer insert(int offset,String str):将当前str字符串添加到指定位置处,它返回字符串缓冲区本身
4、StringBuffer的删除功能:
public StringBuffer deleteCharAt(int index):移除指定位置处的字符..
public StringBuffer delete(int start,int end):移除从指定位置处到end-1处的子字符串...
public StringBuffer deleteCharAt(int index):移除指定位置处的字符..
public StringBuffer delete(int start,int end):移除从指定位置处到end-1处的子字符串...
5、StringBuffer的反转功能:
public StringBuffer reverse() :将缓冲区中的字符序列反转取代,返回它(字符串冲)本身
public StringBuffer reverse() :将缓冲区中的字符序列反转取代,返回它(字符串冲)本身
6、StringBuffer的截取功能:
public String substring(int start):从指定位置开始截取,默认截取到末尾,返回值不在是缓冲区本身,而是一个新的字符串
public String substring(int start,int end) :从指定位置开始到指定位置结束截取,包前不包后,返回值不在是缓冲区本身,而是一 个新的字符串
public String substring(int start,int end) :从指定位置开始到指定位置结束截取,包前不包后,返回值不在是缓冲区本身,而是一 个新的字符串
7、StringBuffer的替换功能:
public StringBuffer replace(int start,int end,String str)
public StringBuffer replace(int start,int end,String str)
从指定位置到指定位置结束,用新的str字符串去替换,返回值是字符串缓冲区本身
二、Integer
Integer类是int类型的包装类类型(int-->integer 自动装箱;integer-->int 自动拆箱
1、获取Integer的最值
public static final int MAX_VALUE
public static final int MIN_VALUE
2、Integer提供了静态功能:
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
1、获取Integer的最值
public static final int MAX_VALUE
public static final int MIN_VALUE
2、Integer提供了静态功能:
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
3、Integer的构造方法:
public Integer(int value)--->底层实际代码执行的是:valueOf(int i)
public Integer(String s)
public Integer(int value)--->底层实际代码执行的是:valueOf(int i)
public Integer(String s)
****如何将int转换为String类型 --->valueOf(int i) ;
****将String转换为int类型--->static int parseInt(String s);
****将String转换为int类型--->static int parseInt(String s);
可以将Integer-->拆箱 int类型
可以将int类型--->装箱 Integer类型
泛型,可变参数,增强for循环(在集合中)等等..
JDK8特性 : Stream流 --> 表达式
三、character
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
以确定字符的类别(小写字母,数字,等等),
1、构造方法: public Character(char value)
2、Character类的判断功能:
public static boolean isDigit(char ch)确定指定字符是否为数字。
public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
3、 两个转换功能:
public static int toLowerCase(int codePoint)
public static int toUpperCase(int codePoint)
public static int toLowerCase(int codePoint)
public static int toUpperCase(int codePoint)
四、排序方法(Array)
1、冒泡排序: 两两比较,大的往后放,第一次比较完毕最大值出现在最大索引处(首先遍历)
public static void bubboleSort(int[] arr) {
for (int x = 0; x < arr.length - 1; x++) {
for (int y = 0; y < arr.length - 1 - x; y++) {
if (arr[y] > arr[y + 1]) {
int temp = arr[y];
arr[y] = arr[y + 1];
arr[y + 1] = temp;
}
}
}
}
2、选择排序:将每一个与其剩余所比较,将较小值放在最小索引处(首先遍历)
public static void selectSort(int[] arr) {
for (int x = 0; x < arr.length - 1; x++) {
for (int y = x + 1; y < arr.length; y++) {
if (arr[x] > arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
3、数组中的元素查找法(基本查找法)---->折半查找(二分查找) :数组一定是
有序
分析过程:
A:定义最小索引和最大索引
B:计算中间索引
C:中间索引对应的元素和需要查找的元素比较
相等:直接返回中间索引
不相等:
大了,左边找---> max = mid -1 ;
小了,右边找---> min = mid + 1 ;
D:重新计算中间索引 ,回到B继续查找
分析过程:
A:定义最小索引和最大索引
B:计算中间索引
C:中间索引对应的元素和需要查找的元素比较
相等:直接返回中间索引
不相等:
大了,左边找---> max = mid -1 ;
小了,右边找---> min = mid + 1 ;
D:重新计算中间索引 ,回到B继续查找
public static int search(int[] arr,int value) {
//1定义数组中的最小索引和最大索引
int min = 0 ;
int max = arr.length -1 ;
//2 计算出中间索引
int mid = (max+min)/2 ;
//3)拿中间索引对应的元素和需要查找的元素进行比较
//如果相等,返回
while(arr[mid]!=value) {
//不相等
if(arr[mid] >value) {
max = mid -1 ;
}else {
min = mid + 1 ;
}
//如果这value在数组中找不到,找不到返回-1
if(min>max) {
return -1 ;
}
//重新计算出中间索引
mid = (max+min)/2 ;
}
return mid ;
}
}