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);
}

 

posted @ 2021-03-27 07:44  gonghr  阅读(77)  评论(0)    收藏  举报