面试集合

java基础的集合

image-20241122003106371

Collection接口的常用方法

1
2
3
4
5
增加:add(E e) addAll(Collection<? extends E> c)
删除:clear() remove(Object o)
修改:
查看:iterator() size()
判断:contains(Object o) equals(Object o) isEmpty()

总结一下:首先是接口不能创建对象,利用实现类创建对象,

集合有一个特点:只能存放引用数据类型的数据,不能是基本数据类型

基本数据类型放入到集合里面会自动装箱。

特别问题

String、StringBuilder、StringBuffer 区别和联系

1、String 类是不可变类、即一旦一个 String 对象被创建后,包含在这个对象中的字符序列是不可改变的,制止这个对象销毁。

2、StringBuffer 类则代表一个字符序列可变的字符串,可以通过 append、insert、reverse、setCharAt、setLength 等方法改变其内容。一旦生成了最终的字符串,调用 toString 方法将其转变为 String

3、JDK1.5 新增了一个 StringBuilder 类和 StringBuffer 相似,构造方法和方法基本相同。不同的是 StrtingBuffer 是线程安全的,而 StringBuilder 是线程不安全的,所以性能略高,通常情况下,创建一个内容可变的字符串,应该优先考虑使用 StringBuilder。

StringBuilder:JDK1.5 开始 效率高 线程不安全

StringBuffer:JDK1.0 开始 效率低 线程安全