• 12. java ArrayList类


    一、ArrayList定义

    ​ java.util.ArrayList是大小可变的数组的实现,存储在内的数据成为元素。此类提供一些方法来操作内部存储的元素。ArrayList中可不断添加元素,其大小也自动增长。

    // 对应ArrayList,尖括号<E>代表泛型;也就是装在集合中的所有元素,全都是统一的什么类型;
    // 注意:泛型只能是引用类型,不能是基本类型
    import java.util.ArrayList;	
    
    public class Demo{
        public static void main(){
            // 创建了一个arraylist集合,里面都是字符串数据
            // jdk1.7以后,右侧尖括号内容可以不写
            ArrayList<String> list = new ArrayList<>();
            list.add("鸣人"); 
        }
    }
    

    二、ArrayList常用方法

    public boolean add(E e) //向集合当中添加元素,参数的类型和泛型一致
    public E get(int index) //从集合当中获取元素,参数是索引编号
    public E remove(int index) //从集合当中删除元素,参数是索引编号,返回值是被删掉的元素
    public int size() //获取集合的尺寸长度,返回值是集合中包含的元素个数
    
    package china.java.demo;
    
    
    import java.util.ArrayList;
    
    public class Demo01 {
        public static void main(String[] args) {
            ArrayList<String> list1 = new ArrayList<>();
            // add操作,返回值是一个布尔值
            boolean ret = list1.add("留言");
            System.out.println(list1);
            System.out.println("是否成功" + ret);
    
            // 获取0号元素值
            String name = list1.get(0);
            System.out.println(name);
    
            // remove掉0号元素
            list1.remove(0);
            System.out.println(list1);
    
            ArrayList<String> arrayNum = new ArrayList<>();
            arrayNum.add("21");
            arrayNum.add("12");
            arrayNum.add("122");
            for (int i = 0; i < arrayNum.size(); i++) {
                System.out.println(i); // 0,1,2
                System.out.println(arrayNum.get(i));
            }
        }
    }
    
    

    三、ArrayList集合存储基本类型

    /* 
    如果想向ArrayList中存储基本类型,必须使用基本类型包装类
    基本类型  包装类(引用类型,包装类都位于java.lang包下)
    byte	 Byte
    short    Short
    int      Integer
    long     Long
    float    Float
    double   Double
    char	 Character
    boolean  Boolean
    
    从jdk1.5+开始,支持自动装箱,自动拆箱
    自动装箱:基本类型->包装类型
    自动拆箱:包装类型->基本类型
    */
    import java.util.ArrayList;
    
    public class Demo01 {
        public static void main(String[] args) {
            ArrayList<Integer> list1 = new ArrayList<>();
            list1.add(100);
            int num = list1.get(1);
        }
    }
    
    

    四、ArrayList练习

    // 生成6个 1-33之间随机整数,添加至集合,并遍历集合
    
    package china.java.demo;
    
    import java.util.ArrayList;
    import java.util.Random;
    
    public class Demo01 {
        public static void main(String[] args) {
            ArrayList<Integer> numList = new ArrayList<>();
            Random rd = new Random();
    		// 生成随机数
            for (int i = 0; i < 6; i++) {
                int num = rd.nextInt(33) + 1;
                numList.add(num);
            }
    		// 迭代集合
            for (int i = 0; i < numList.size(); i++) {
                System.out.println(numList.get(i));
            }
        }
    }
    
    
    /*
    思路:
    1. 自定义Student学生类,四个部分
    2. 创建一个集合,用来存储学生对象。泛型,<Student>
    3. 根据类,创建4个学生对象
    4. 将4个学生对象添加到集合,add
    5. 遍历集合:for、size、get
    */
    
    // 学生类
    package china.java.demo;
    
    public class Student {
        private String name;
        private int age;
    
        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public Student() {
    
        }
    
        public String getName() {
            return name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
    
    
    
    // 实现类
    package china.java.demo;
    
    
    import java.util.ArrayList;
    
    public class Demo01 {
        public static void main(String[] args) {
            ArrayList<Student> stuList = new ArrayList<>();
            Student one = new Student("洪七公", 30);
            Student two = new Student("欧阳修", 20);
            Student three = new Student("黄药师", 19);
            Student four = new Student("段智兴", 90);
    
            stuList.add(one);
            stuList.add(two);
            stuList.add(three);
            stuList.add(four);
    
            for (int i = 0; i < stuList.size(); i++) {
                System.out.println(stuList.get(i).getName() + stuList.get(i).getAge());
            }
        }
    }
    
    
    // 用一个大集合存20个随机数,筛选偶数元素放入小集合中;使用自定义方法实现
    /*
    1. 创建一个大集合,用来存储int数字<Integer>
    2. 随机数字用 Random nextInt
    3. 循环20次,把随机数字放入大集合,for,add
    4. 自定义方法,用来筛选
    	三要素:
    		返回值类型 ArrayList小集合(里面元素个数不确定)
    		方法名称getSmallList,
    		参数列表ArrayList大集合
    */
    
    package china.java.demo;
    
    
    import java.util.ArrayList;
    import java.util.Random;
    
    public class Demo01 {
        public static void main(String[] args) {
            ArrayList<Integer> bigList = new ArrayList<>();
            Random rd = new Random();
            //  20.fori;生成20个随机数
            for (int i = 0; i < 20; i++) {
                int num = rd.nextInt(100) + 1;
                bigList.add(num);
            }
            System.out.println(getSmallList(bigList));
        }
    	// 筛选偶数方法;此方法是处理集合的,所有返回值类型,参数都是ArrayList类型数据
        public static ArrayList<Integer> getSmallList(ArrayList<Integer> list) {
            ArrayList<Integer> smallList = new ArrayList<>();
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i) % 2 == 0) {
                    smallList.add(list.get(i));
                } else {
                    continue;
                }
            }
            return smallList;
        }
    }
    
    
  • 相关阅读:
    python 面向对象编程的三大特征之一 多态
    python 访问控制
    python 面向对象编程的三大特征之一 继承
    朱兆祺教你如何攻破C语言学习、笔试与机试的难点
    如何画好流程图
    2013年个人计划
    30天敏捷结果(1):总体认识Getting Result敏捷方法
    每天一个linux命令目录
    国嵌C语言学习
    【head first python】1.初识python 人人都爱列表
  • 原文地址:https://www.cnblogs.com/hq82/p/11691738.html
Copyright © 2020-2023  润新知