Java-集合

什么是集合:

  • 集合是一种容器,用来装数据,类似于数组
  • 数据定义完成并启动后, 长度就固定了。
  • 集合大小可变,开发中用的更多

ArryList长度可变的原理:

  • 当创建ArryList集合容器的时候,底层会存在一个长度为10个大小的空数组
  • 扩容原数组1.5倍大小的新数组
  • 将原数组数据,拷贝到新数组中
  • 将新元素添加到新数组
import java.util.ArrayList;
 
public class ArrayListDemo1 {
    /*
        ArrayList集合的使用:
 
            细节: 创建String, StringBuilder, ArrayList类的对象, 打印对象名, 都没有看到地址值, 而是元素内容
 
            1. 构造方法 :
 
                    public ArrayList() : 创建一个空的集合容器
 
            2. 集合容器的创建细节 :
 
                    ArrayList list = new ArrayList();
                    现象: 可以添加任意类型数据
                    弊端: 数据不够严谨
 
 
                    ArrayList<String> list = new ArrayList<>();
 
                    <> : 泛型
                                目前: 使用泛型, 可以对集合中存储的数据, 进行类型限制
                                细节: 泛型中, 不允许编写基本数据类型
                                问题: 那我要是想集合中, 存储 整数, 小数, 字符... 这些数据, 怎么办呢?
                                解决: 使用基本数据类型, 所对应的包装类
 
                                            byte           Byte
                                            short          Short
                                            int            Integer    ***
                                            long           Long
                                            float          Float
                                            double         Double
                                            boolean        Boolean
                                            char           Character  ***
     */
    public static void main(String[] args) {
 
        // 步骤1: 创建一个集合容器, 内部存储 11.1 22.2 33.3
        ArrayList<Double> list1 = new ArrayList<>();
        list1.add(11.1);
        list1.add(22.2);
        list1.add(33.3);
 
        // 步骤2: 创建一个集合容器, 内部存储 张三, 李四, 王五
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("张三");
        list2.add("李四");
        list2.add("王五");
 
        // 步骤3: 在控制台展示两个集合中的元素
        System.out.println(list1);
        System.out.println(list2);
 
 
    }
}

成员方法:

public class ArrayListDemo2 {
    /*
        ArrayList 常用成员方法 :
 
            1. 增 :
                    public boolean add(E e) : 将指定的元素添加到此列表的尾部
                    public void add(int index, E element) : 在指定索引位置, 添加对应的元素 (插队)
 
            2. 删
                    public E remove(int index) : 根据索引做删除, 返回被删除掉的元素
                    public boolean remove(Object o) : 根据元素做删除, 返回是否删除成功的状态
 
            3. 改
                    public E set(int index, E element) : 修改指定索引位置, 为对应的元素, 返回被覆盖掉的元素
 
            ------------------------------------------------------------------------------------------
                    以上方法, 返回值通常不做接收
 
            4. 查
                    public E get(int index)  : 根据索引, 获取集合中的元素
                    public int size()  : 返回集合中元素的个数
 
     */
    public static void main(String[] args) {
 
        ArrayList<String> list = new ArrayList<>();
 
        list.add("张三1");
        list.add("张三2");
        list.add("张三3");
 
        String s = list.get(2);
 
        System.out.println(s);
 
        System.out.println(list.size());
 
 
 
    }
 
    private static void updateMethod() {
        ArrayList<String> list = new ArrayList<>();
 
        list.add("张三1");
        list.add("张三2");
        list.add("张三3");
 
        String result = list.set(1, "李四");
 
        System.out.println(result);
 
        System.out.println(list);
    }
 
    private static void removeMethod() {
        ArrayList<String> list = new ArrayList<>();
 
        list.add("张三1");
        list.add("张三2");
        list.add("张三3");
 
        System.out.println(list);
 
        boolean flag = list.remove("李四");
 
        System.out.println(flag);
 
        System.out.println(list);
    }
 
    private static void addMethod() {
        ArrayList<String> list = new ArrayList<>();
 
        list.add("张三1");
        list.add("张三2");
        list.add("张三3");
 
        list.add(0, "张三4");
 
        System.out.println(list);
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值