String类:
代表字符串,同时提供了字符串操作功能。
String类被称为不可变字符串类型,它的对象在创建后不能更改。
(String变量里面放的是一个地址,指向对内容可以累加,不可以换成别的)
创建String类对象:
方法1:直接用“”定义
方法2:用String类的构造器创建对象:
区别:
方法1产生的对象,在字符串常量池中存储。相同内容只存储一份(多对象指向同一内容),用构造器new的对象,每new一次都在堆内存中产生新的对象。
编译优化机制:
String类常用API:
字符串内容比较:equals,只需要看内容
遍历,替换,截取,分割:
ArrayList类:
集合:大小,类型都不固定
创建空的集合对象:
添加元素:
ArrayList对泛型的支持:
ArrayList集合默认可以存储任意类型的元素,但实际开发中应尽量使用泛型约束集合对象只能操作某种数据类型。
注意:集合中只能存储引用类型,不能存储基本数据类型
ArrayList类常用API:
package wryyyyy;
import java.util.ArrayList;
public class stringtest
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>();
list.add("Java0");
list.add("Java1");
list.add("Java2");
list.add("Java3");
list.add("Java4");
list.add("Java5");
list.add("Java6");
list.add("Java5");
//根据索引取元素
String s1 = list.get(3);
System.out.println(s1);
//获取集合大小
int s2 = list.size();
System.out.println(s2);
//完成元素遍历
for (int i = 0; i < list.size(); i++)
{
System.out.println(list.get(i));
}
//删除某个索引位置处的元素值,并返回被删除的元素值
System.out.println(list);
String s3 = list.remove(2);
System.out.println(s3);
System.out.println(list);
//直接删除元素值,成功则返回true失败返回false
System.out.println(list.remove("Java1"));
System.out.println(list);
//当删除两个一样的元素时,默认删除前面那个
list.remove("Java5");
System.out.println(list);//[Java0, Java3, Java4, Java5, Java6, Java5][Java0, Java3, Java4, Java6, Java5]
//修改某个位置的元素值
list.set(0,"modify");//会返回修改前的值
System.out.println(list);
}
}