导图社区 【JAVA基础】常用API Part.2
常用API应用程序编程接口概述和方法
社区模板帮助中心,点此进入>>
python思维导图
Java日常技术
java中io流图解
Java继承与多态
职场必看!Java编程思想思维导图
python留言网站
Python入门
python基础知识点简单总结
J2EE复习大纲
《C语言程序设计》思维导图
API(应用程序编程接口)Part.2
ArrayList类
与数组的区别
数组的长度不可以发生改变,但是ArrayList集合的长度是可以随意变化的
是一种泛型 <E>
泛型:装在集合当中的所有元素,全都是统一的类型
注意:泛型只能是引用类型,不能是基本类型
不能用基本类型:int double float char
可以用引用类型:String
因为集合里的数据保存的是地址值,而基本类型数据没有地址值
如果希望向ArrayList中存储基本类型数据,必须使用基本类型数据对应的包装类
包装类
Byte //对应byte
Short //对应short
Integer //对应int
Long //对应long
Float //对应float
Double //对应double
Character //对应char
Boolean //对应boolean
导包
import java.util.ArrayList
创建
ArrayList(); //构造一个初始容量为10的空列表
ArrayList<String> list = new ArrayList<>(); //创建一个名为list的集合,里面都是String类型的数据 尖括号表示存贮的数据类型,右侧一定要写
方法
add(E e) //向集合中加入对应的数据元素,返回值是boolean类型判断是否添加成功 (E e)表示对应的泛型
ArrayList类中add操作一定成功,所以返回值可用可不用
对于其他集合,add操作不一定成功,因此返回值的判断很重要
get(int index) //从集合中获取元素,参数是索引编号,返回值是对应元素(泛型)
remove(int index) //从集合中删除元素,参数是索引编号,返回值是被删除的元素
size( ) //获取集合的长度,返回值是集合中的元素个数
注意事项
对于ArrayList集合,直接打印得到的不是地址值,而是内容,如果内容为空,则打印空的中括号 【 】
String类
特点
字符串是常量,被创建后不能更改
因为字符串不可改变,所以字符串可以共享使用
字符串效果上相当于char[ ]字符数组,但是底层原理是byte[ ]字节数组
java.lang //不需要导包
三种构造方法
String( ) //创建一个空白字符串,不含有内容
String(char[ ] array) //根据字符数组的内容,创建对应字符串
String(byte[ ] array) //根据字节数组的内容,创建对应的字符串 ASCII码
是字符串底层的实现原理
char[ ] charArray = {'a', 'b', 'c'};String str3 = new String(charArray);
一种直接创建
String str = "hello";
字符串的常量池
赋值号的使用
对于基本类型,==是进行数值的比较
对于引用类型,==是进行地址值的比较
存储实现原理
双引号创建的字符串在栈中储存的是 指向堆中的常量池中的字符串对象的地址值
而堆中的常量池中的字符串对象存储的是 指向字节数组的地址值
程序中直接写上的双引号字符串,就在字符串常量池中
而new的不在常量池中
比较操作
equals(Object obj) //字符串内容的比较,参数可以是任何对象 // 只有参数是一个字符串并且内容相同,返回值才为true,否则返回false
任何对象都能用Object进行接收
equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样
如果比较双方一个常量一个变量,推荐把常量字符串写在前面。推荐:"abc".equals(str)不推荐:str.equals("abc")
equalsIgnoreCase(String str) //忽略大小写,进行内容比较 //只有英文字母区分大小写,汉字不区分
读取操作
length( ) //获取字符串中含有的字符个数,得到字符长度
concat(String str) //将当前字符串和参数字符串拼接成为返回值新的字符串
charAt(int index) //获取指定索引位置的单个字符(索引从0开始)
indexOf(String str) //查找参数字符串在本字符串中首次出现的索引位置,如果没有返回 -1 值
截取操作
substring(int index) //截取从参数位置
substring(int begin , int end) //截取从begin开始,到end结束中间的字符串 //左闭右开区间,【begin,end)
转换操作
toCharArray( ) //将字符串拆分成字符串数组,返回数组
getBytes( ) //获得当前字符串底层的字节数组
replace(CharSequence oldString , CharSequence newString) //将所有出现的老字符串替换成新的字符串,返回替换后的新字符串
分割操作
split(String regex) //按照参数的规则,将字符串切分成我若干部分 //返回字符串数组
split方法的参数是一个正则表达式
按照英文句点“. ”进行切分,必须写“\\.”(两个反斜杠)