java字符串、集合、集合框架

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  返回字符串的副本,忽略前导空白和尾部空白。(不要两端空格

toUpperCasetoLowerCase   使用默认语言环境的规则将此 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  倒序排列

猜你喜欢

转载自blog.csdn.net/zyz0225/article/details/80187413
今日推荐