• 集合(ArrayList)【1】


    集合

    集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

    1.ArrayList<E>

    • 可调整大小的数组实现

    • <E>是一种特殊的数据类型,泛型。

    怎样使用?

    再出现E的地方使用我们引用数据类型替换即可

    举例:ArrayList<String>、ArrayList<Student>

    1.1ArrayList构造方法和添加方法

    public class ArrayListDemo01 {
    ​
        public static void main(String[] args) {
            //创建一个空的集合对象
            //ArrayList<String> array = new ArrayList<>();
            ArrayList<String> array = new ArrayList<String>();
            //将指定的元素追加到此集合的末尾
            array.add("hello");
            array.add("java");
            //添加到指定元素
            array.add(1,"this");
    ​
            //java.lang.IndexOutOfBoundsException: 集合的索引越界
            array.add(4,"无效");
    ​
            //输出集合
            System.out.println("array:"+array);
        }
    ​
    ​
    }

    存储字符串并遍历

    /*
            需求:创建一个字符串的集合,存储三个字符串元素,使用程序实现再控制台遍历该集合
    ​
            思路:
                1.创建集合对象
                2.往集合中添加字符串对象
                3.遍历结合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现
                4.遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现
                for(int i = 0;i<集合对象.size();i++){
                    集合对象.get(i) 就是指定索引处的元素
                }
     */public class ArrayListDemo02 {
        public static void main(String[] args) {
            //创建集合对象
            ArrayList<String> array = new ArrayList<>();
    ​
            //往集合中添加字符对象
            array.add("索隆");
            array.add("乌索普");
            array.add("乔巴");
    ​
            //遍历集合
            for (int i = 0;i < array.size(); i++){
                System.out.println(array.get(i));
            }
    ​
        }
    }
    ​

    1.2ArrayList集合常用方法

    public class ArrayListDemo02 {
        public static void main(String[] args) {
            //创建集合对象
            ArrayList<String> array = new ArrayList<>();
    ​
            //往集合中添加字符对象
            array.add("索隆");
            array.add("乌索普");
            array.add("乔巴");
    ​
            //删除指定的元素,并返回该位置的元素
            System.out.println(array.remove(1));
    ​
            //如是没有这个索引 删除 则会报索引越界异常     java.lang.IndexOutOfBoundsException:
            //System.out.println(array.remove(4));
    //修改指定位置的元素,并返回修改后的元素
            array.set(0,"娜美"); 
    ​
            //如是没有这个索引 修改 则会报索引越界异常     java.lang.IndexOutOfBoundsException:
            //System.out.println(array.set(4,"王路飞"));
    //返回指定索引位置的元素
            System.out.println(array.get(0));
    ​
            //如是没有这个索引 获取 则会报索引越界异常     java.lang.IndexOutOfBoundsException:
            //System.out.println(array.get(4));
    //获取集合中的元素个数
            System.out.println(array.size());// 2
    //遍历集合
            for (int i = 0;i < array.size(); i++){
                System.out.println(array.get(i));
            }
    ​
        }
    }

    1.3.1存储学生对象并遍历

    需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现再控制台遍历该集合

     

    思路:

    1.定义学生类

    2.创建集合对象

    3.创建学生对象

    4.添加学生对象到集合中

    5.遍历集合,采用通用遍历格式实现

    学生实体类

    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 void setName(String name) {
            this.name = name;
        }
    ​
        public int getAge() {
            return age;
        }
    ​
        public void setAge(int age) {
            this.age = age;
        }
    }

    Demo

    /*
           •    需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现再控制台遍历该集合
    ​
    •           思路:
    ​
    •                   1.定义学生类
    •                   2.创建集合对象
    •                   3.创建学生对象
    •                   4.添加学生对象到集合中
    •                   5.遍历集合,采用通用遍历格式实现
     */
    public class ArrayListDemo01 {
    ​
        public static void main(String[] args) {
            //创建集合对象
            ArrayList<Student> array = new ArrayList<>();
    ​
            //创建学生对象
            Student s1 = new Student("索隆",20);
            Student s2 = new Student("乔巴",36);
            Student s3 = new Student("乌索普",26);
    ​
            //添加到集合中
            array.add(s1);
            array.add(s2);
            array.add(s3);
    ​
            //遍历
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                System.out.println(s.getName()+","+s.getAge());
            }
    ​
        }
    ​
    }

    1.3.2存储学生对象并遍历(从键盘获取)[强化]

    需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合 学生的姓名和年龄来自于键盘录入

    思路: 1.定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型 2.创建集合对象 3.键盘录入学生对象所需要的数据 4.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量 5.往集合中添加学生对象 6.遍历集合,采用通用遍历格式实现

    学生实体类

    public class Student {
    ​
        private String name;
        private String age;
    ​
        public Student() {
        }
    ​
        public Student(String name, String age) {
            this.name = name;
            this.age = age;
        }
    ​
        public String getName() {
            return name;
        }
    ​
        public void setName(String name) {
            this.name = name;
        }
    ​
        public String getAge() {
            return age;
        }
    ​
        public void setAge(String age) {
            this.age = age;
        }
    }

     

    Demo

    /*
           需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
                          学生的姓名和年龄来自于键盘录入
    ​
    •           思路:
    •                       1.定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型
    •                       2.创建集合对象
    •                       3.键盘录入学生对象所需要的数据
    •                       4.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
    •                       5.往集合中添加学生对象
    •                       6.遍历集合,采用通用遍历格式实现
     */
    public class ArrayListDemo01 {
    ​
        private static Scanner sc = new Scanner(System.in);
    ​
        private static ArrayList<Student> array = new ArrayList<>();
    ​
        public static void main(String[] args) {
    ​
    ​
            //录入三次  提高代码复用性
            lr();
            lr();
            lr();
    ​
            //遍历集合
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                System.out.println(s.getName()+","+s.getAge());
            }
    ​
        }
    ​
        public static void  lr(){
            //从键盘录入学生姓名
            System.out.println("请输入学生名:");
            String name = sc.nextLine();
            //从键盘录入学生年龄
            System.out.println("请输入学生年龄:");
            String age = sc.nextLine();
    ​
            //创建学生对象
            Student s = new Student(name,age);
            array.add(s);
    ​
        }
    }

     

  • 相关阅读:
    17张程序员壁纸推荐,是否有一张你喜欢的?
    学会了这些英文单词,妈妈再也不用担心我学不会Python
    小白学习Python英语基础差怎么办,都帮你想好拉!看这里
    自动化测试学习防踩坑手册,测试人员人手一份
    Selenium自动化结合Mysql数据项目实战操作
    解除你学习Python自动化测试框架的所有疑惑,开启学习直通车
    数据库管理软件navicate12的激活和安装
    修改文件版本号方法
    Json的数据映射(基于LitJson)
    VMware 虚拟机安装黑屏问题
  • 原文地址:https://www.cnblogs.com/DiaoStudy/p/13638747.html
Copyright © 2020-2023  润新知