集合框架 ArrayList(1)

集合框架 ArrayList(1)

1.数组的局限性
如果要存放多个对象,可以使用数组,但是数组有局限性
比如 声明长度是10的数组
不用的数组就浪费了
超过10的个数,又放不下

2 ArrayList与数组的区别
ArrayList容器的容量会随着对象的增加,自动增长,只需往容器中不断添加元素就可以了,不用担心会出现数组的边界问题。

package ArrayLists;
import java.util.ArrayList;
public class code01 {
    public static void main(String args[]){
        ArrayList number=new ArrayList();
        number.add(1);

        System.out.println(number.size());

        number.add(2);
        System.out.println(number.size());

        System.out.println(number);


    }
}

运行结果
在这里插入图片描述
3. ArrayList的常见方法

3.1 add()
add 有两种用法
第一种是直接add对象,把对象加在最后面
第二种是在指定位置加对象

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]){
        ArrayList number=new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for(int i=1;i<=5;i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2,"special number");

        System.out.println(number);

    }
}

运行结果
在这里插入图片描述

3.2 contains()
contains()判断容器中是否存在对象

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]){
        ArrayList number=new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for(int i=1;i<=5;i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2,"special number");

        System.out.println(number);
        //ArrayList类型的数据.contains(某个对象)--返回true/false
        System.out.println(number.contains(1));//结果为true
    }
}

3.3 get()
获取指定位置的对象
通过get获取指定位置的对象,如果输入的下标越界,一样会报错

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]){
        ArrayList number=new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for(int i=1;i<=5;i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2,"special number");

        System.out.println(number);
        //ArrayList类型的数据.contains(某个对象)--返回true/false
        System.out.println(number.contains(1));

        //get()--获得指定位置的对象
        System.out.println(number.get(5));
        System.out.println(number.get(6));//越界 报错
    }
}

在这里插入图片描述
3.4 remove()
remove(位置)–根据位置删除对象
remove(对象)–根据对象删除对象

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]) {
        ArrayList number = new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for (int i = 1; i <= 5; i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2, "special number");

        System.out.println(number);
        //ArrayList类型的数据.contains(某个对象)--返回true/false
        System.out.println(number.contains(1));

        //get()--获得指定位置的对象
        System.out.println(number.get(5));
//        System.out.println(number.get(6));//越界 报错
        //remove()--删除对象
        number.remove(0);  //remove(下标)
        System.out.println(number);
        number.remove(Integer.valueOf("2"));  //remove(对象) Integer.valueOf("字符串")--字符串转数字
        System.out.println(number);
    }
}

在这里插入图片描述
3.5 set()
set用于替换指定位置的元素

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]) {
        ArrayList number = new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for (int i = 1; i <= 5; i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2, "special number");

        System.out.println(number);
        //ArrayList类型的数据.contains(某个对象)--返回true/false
        System.out.println(number.contains(1));

        //get()--获得指定位置的对象
        System.out.println(number.get(5));
//        System.out.println(number.get(6));//越界 报错
        //remove()--删除对象
        number.remove(0);  //remove(下标)
        System.out.println(number);
        number.remove(Integer.valueOf("2"));  //remove(对象) Integer.valueOf("字符串")--字符串转数字
        System.out.println(number);

        number.set(0,"SPECIAL NUMBER");//number.set(位置,对象)
        System.out.println(number);

    }
}

在这里插入图片描述
3.6 toArray() 转数组

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]) {
        ArrayList number = new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for (int i = 1; i <= 5; i++)
            number.add(i);

        System.out.println(number);
        //第二种方法 add(位置,对象)
        number.add(2, "special number");

        System.out.println(number);
        //ArrayList类型的数据.contains(某个对象)--返回true/false
        System.out.println(number.contains(1));

        //get()--获得指定位置的对象
        System.out.println(number.get(5));
//        System.out.println(number.get(6));//越界 报错
        //remove()--删除对象
        number.remove(0);  //remove(下标)
        System.out.println(number);
        number.remove(Integer.valueOf("2"));  //remove(对象) Integer.valueOf("字符串")--字符串转数字
        System.out.println(number);

        number.set(0, "SPECIAL NUMBER");//number.set(位置,对象)
        System.out.println(number);

        number.remove(0);
//ArrayList转数组
        Integer integer[] = (Integer[]) number.toArray(new Integer[]{});
        System.out.println(integer);
    }
}

在这里插入图片描述
3.7 把一个容器的对象加到另一个容器

package ArrayLists;

import java.util.ArrayList;

public class code02 {
    public static void main(String args[]) {
        ArrayList number = new ArrayList();//类似python的列表 可以加不同类型的数据
        //第一种方法 add(对象)
        for (int i = 1; i <= 5; i++)
            number.add(i);

        System.out.println(number);

        ArrayList number1 = new ArrayList();
        for(int i=6;i<=10;i++)
            number1.add(i);
//把number1都加到number
        number.addAll(number1);

        System.out.println(number);
        }
 }       

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值