Java之ArrayList集合
集合和数组的区别
共同点:都是存储数据的容器
不同点:数组的容量是固定的,集合的容量是可变的
ArrayList的构造方法和添加方法
public ArrayList() //创建一个空的集合对象
public boolean add(E e) //将指定的元素追加到此集合的末尾
public void add(int index,E element) //在此集合中的指定位置插入指定的元素
ArrayList list=new ArrayList(); //list元素可以是任意类型
ArrayList list<String>=new ArrayList<String>(); //list元素只能是String类型,泛型类
ArrayList list<String>=new ArrayList<>(); //也可省略后面<>里的内容来写
注意:泛形要求能包容的是对象类型,而基本类型在java里不属于对象。
想放int的话要写integer,不能光一个int的,int 是基本数据类型,Integer是其包装类,注意是一个类,泛型也是要写个类的,所以要用integer。
ArrayList<Integer> list=new ArrayList<Integer> ();
ArrayList类常用方法
public boolean remove(Object o) 删除指定的元素,返回删除是否成功
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数
遍历ArrayList
for (int i = 0; i < list.size(); i++) { //list.size()获取ArrayList长度
String s = list.get(i);
System.out.println(s);
}
索引删除ArrayList特定元素
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("test");
list.add("张三");
list.add("李四");
list.add("test");
list.add("test");
for(int i=0;i<list.size();i++){
String s=list.get(i);
if("test".equals(s)){ //可避免s为空的情况
list.remove(i);
i--; //remove的顺序是删除元素后,后面元素向前移动,原先 i 的位置会跳过所以i--
}
}
System.out.println(list);
}