String、集合
包
作用:对代码进行分门别类的管理,包本质上是文件夹
建包语句
- 作用:声明自己的类属于哪一个包
- 位置:一个代码文件的第一行
- 格式:package 包名;
- 注意:不需要我们自己写,当使用idea创建一个类之后,idea会自动生成
导包语句
-
作用:告诉自己的程序,在哪个包下找哪个类
-
位置:建包语句的下面,定义类的上面
-
格式:import 包名.类名;
-
要求
- 同一个包下的类,使用时不需要导包
- 不同包下的类,使用时需要导包。java.lang包是Java的核心包,使用这个包下的类都不需要导包,比如String
- 如果需要使用不同包下的多个同名的类,import只能导入一个!另外几个,需要使用全限定类名的格式:包名.类名;
-
注意:大部分情况下,导包语句都可以自动生成
String
作用:代表程序中的字符串。可以用来创建字符串对象,而字符串对象提供了大量针对字符串的方法,可以直接使用,提高开发效率
创建对象
-
方式1
-
直接写一个字符串字面量,就是创建了一个对象,这种方式创建的对象在字符串常量池
-
字符串常量池
- 里面相同内容的字符串对象只有一个
-
-
方式2
-
使用new调用它的构造器
-
常用构造器
- String()
- String(String str)
- String(char[] chs)
- String(byte[] bys)
-
特点
- 对象在堆内存,每new一次都会开辟一个新的对象空间,哪怕内容一样
-
==的使用
- 基本数据类型:比较数据值
- 引用数据类型:比较地址值
常用方法
- equals(字符串):比较两个字符串内容是否相同,相同返回true,否则返回false
- equalsIgnoreCase(字符串):比较两个字符串内容是否相同,但是忽略大小写
- charAt(索引):返回字符串中指定索引位置的字符,字符串的索引从0开始
- toCharArray():把字符串转成字符数组
- length():返回字符串的长度
- …
- 注意:方法不是让你背诵的,是让你查阅API文档(百度)的!
ArrayList
作用:可以存储多个同种数据类型,是一个大小可变的容器
特点:大小可变,适合用在数据量可变的场景下,比如购物车中的订单数据
创建对象:推荐使用空参构造,默认创建一个容量为10的集合容器,不需要管容量,满了底层会自动扩容
-
ArrayList 集合名称 = new ArrayList();
- 不推荐
- 这种集合,什么数据都能装
-
ArrayList<指定的引用数据类型> 集合名称 = new ArrayList<>();
- 推荐
常用方法
- add(数据):往集合容器末尾添加数据
- add(索引,数据):往指定的索引位置添加一个数据
- remove(索引):根据索引删除,返回的是被删除的数据
- remove(数据):根据指定的数据从集合中删除,返回的是布尔值
- set(索引,数据):修改指定索引位置的数据为传入参数数据
- get(索引):获取指定索引位置的数据
- size():获取集合中数据的个数
- …
- 注意:方法是让你查API文档的,查文档使用
批量删除
- 如果是根据索引删除,并且是从0号索引开始遍历,要注意:删除一个数据,后面的数据会往前挪动,会导致后一个数据没有判断,所以需要i–
- 如果是根据索引删除,并且从最大索引开始遍历,不需要i–