编程的时候如果要存储多个数据,使用长度固定的数组格式,不一定满足我们的需求,也无法适应变化的需求。
集合:
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
集合类有很多,首先介绍:
ArrayList:
ArrayList<E>
- 可调整大小的数组实现
- <E>是一种特殊的数据类型,泛型
在出现E的地方我们使用引用数据类型替代即可
举例:ArrayList<String>,ArrayList<Student>
构造方法和添加方法
public ArrayList();创建一个空的集合对象
ArrayList添加方法:
public boolean add(E e);将指定的元素添加到此集合的末尾
public void add(int index,E element):在此集合中的指定位置插入指定元素
public class ArrayListdemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> arr=new ArrayList<>();
arr.add("hello");
System.out.println(arr);
arr.add(1,"java");
System.out.println(arr);
}
}
思考:
当集合位置上存在元素的时候,再在这个位置上插入元素,那么当前的元素会怎么移动?
如果在一个只有一个元素的集合中,在index为3的位置上添加元素又会是什么情况呢?
ArrayList集合的常用方法
- public boolean remove(object o):删除指定元素,返回删除成功
- public E remove(int index):删除指定索引处的元素,返回被删除的元素
- public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
- public E get(int index):返回索引处的元素
- public E size():返回集合中的元素个数
public class ArrayListdemo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> arr=new ArrayList<>();
arr.add("hello");
arr.add("word");
System.out.println(arr);
//arr.remove(0);
//System.out.println(arr);
//
//arr.remove("word");
//System.out.println(arr);
arr.set(1,"java" );
System.out.println(arr);
System.out.println(arr.get(0));
System.out.println(arr.size());
}
}