1. 常用类
1.1 String 和 StringBuffer
String 类型的赋值理解
Int a = 3;
a = 5;
这段代码的含义是:首先申请内存单元,命名为a,同时将3这个值存储到这个内存单元中,然后又将5这个值存入内存单元中,这个内存单元的之前的值在被赋值后就被修改了。
String str =new String("123");
Str = “123”;
对于引言而言,赋值并不是改变原来的引用对象的值,而只是调整了引用的关系,所以在使用“==”符号进行比较时,需要特别的注意。
String str =new String("123");
String str1 = new String("123");
System.out.println(str == str1);
System.out.println(str.equals(str1));
因为str和str1引用的是不同的对象,所以str==str1 为假的。
因为str和str1引用的字符串内存是相同的,所以str.equals(str1)
为真。
String 类常用的方法:equals,length,charAt,format,substring,indexOf,
lastIndexOf,replace,trim,toUpperCase,toLowerCase,
Length 得到字符串的长度。
ChatAt 返回下标为几的值。
format 格式化
substring 得到下标(几到几,前含后不含)
indexOf 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
Replace 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
Trim 返回字符串的副本,忽略前导空白和尾部空白。(不要两端空格)
toUpperCase和toLowerCase 使用默认语言环境的规则将此 String 中的所有字符都转换为大写 和 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
StringBuffer 常用的方法: append,insert,deleteCharAt,delete,replace,
setCharAt,reverse。
Append |StringBuffer append (boolean b)将布尔参数的字符串表示追加到序列中。
Insert 插入(int offset, boolean b)将布尔参数的字符串表示插入到这个序列中。(插到下标为几,插入内容)
deleteCharAt (int索引)在此序列中删除指定位置的char,删除下标
|delete 删除(开始,结束)(int start, int end)删除该序列的子字符串中的字符。(前包含后不包含)。
replace(int start, int end, String str)用指定字符串中的字符替换该序列的子字符串中的字符。(开始下标,结束下标,前包含后不包含)。
setCharAt (int索引,char ch)在指定索引处的字符被设置为ch。
(下标为几,单引号写成要替换的字符)。
Reverse 反向()使这个字符序列被序列的反向替换。
1.2数组对象
Arrays提供了数组的常见操作,比如查找,排序等,且他的方法都是静态的,所以实际上它是一个工具类,提供方法,方便编程
Fill 将指定数组对象中索引组件的值设置为指定的 数据类型的值。
Sort 将数组里的数据升序排序。
1.2MATH类
静态的常量 E e,PI π,
动态的常量 abs max min pow random round sqrt
1.3日期类 :
Calendar
Date
1.4包装类
为什么要用包装类,因为基础类型和其他类型处理是不同的,
基础类型的赋值,是直接修改变量里面的值。准确的说,是修改了内存单元里面的内容。
其他类型的赋值,是改变了引用的指向。
很多地方统一(尤其是泛型),系统提供了我们基本类型所对应的包装类。
int - Integer char - Character 其他的基本类型是首字母大写即可
集合框架:
2.1 vector
Vector(向量):动态数组
为什么需要动态数组,很多时候,我们无法先去确定数组的元素的个数,如果使用了静态数组,小了不够用,大了会造成内存空间的浪费。这个时候我们就需要动态的数组,可以按照一定增量来增加容量。
Vector<Integer> v1 = new Vector<>(5,2); //动态数组的容量默认为十
//初始容量 自增量
System.out.println(v1.capacity());
System.out.println(v1.size());
v1.add(1);
v1.add(2);
v1.add(3);
v1.add(4);
v1.add(5);
v1.add(6);
v1.add(7);
v1.add(8);
v1.add(9);
v1.add(10);
v1.add(11);
v1.remove(1);
v1.remove(3);
v1.remove(5);
System.out.println(v1.capacity());
System.out.println(v1.size());
System.out.println(v1.toString());
Vector 的初始容量和和增量都是十,可以通过他的构造方法来设置容量和增量。所谓的增量,就是在容量不够时,增加的量
Size capacity add remove(int index): 删除指定位置的元素 remove(object o): 删除指定元素 (第一个)
trimToSize() 将容量调至最小 indexOf() 找出指定元素的下标
Get() 找出指定下标的元素 contains() 找出元素是否在
Set() 根据下标 值换成你指定的值 firstElement()
2.2 栈 stack
栈的特点:先进后出,后进先出
Push 把项压入栈顶。()
Peek 查看栈顶对象而不移除它。
Search 返回对象在栈中的位置,以 1 为基数。
Pop 移除栈顶对象并作为此函数的值返回该对象。
2.3 List 类
Lists 是一个接口,继承自 collection 接口,常用的实现类:ArrayList,LinkList,
2.4 Set
Set 也是一个接口,它表示一个无重复元素的集合,无序,唯一(它
是通过判断hashCode来判断是否重复,如果得不到我们想要的结果,那就重写aquals方法)。
Set的实现类 hashSet
当我们添加了重复的元素,但输出时,并没有出现重复,(Set的重复的意思是a.equals(b)返回ture)
2.5 Map
Map是以键值对(key:value)的形式存储数据,常用有jdbc中。
Map 也是无序的,且键值要求是唯一的。如果有重复的键名,以最后出现的键值为准。
2.6 迭代器
2.7 Collections 工具类
Swap 在指定列表的指定位置处交换元素。
replaceAll 使用另一个值替换列表中出现的所有某一指定值。
Sort 顺序排序 max min 最大值 最小值
Shuffle 随机排序
Reverse 倒序排列