zoukankan      html  css  js  c++  java
  • 【05】Java入门05:Java集合

    一、对象数组

    1.对象数组概述  

        ①基本类型的数组:存储的元素为基本类型。

    int[] arr={1,2,3,4}

        ②对象数组:存储的元素为引用类型。

    Student[] stus = new Student[3];

    二、集合类之ArrayList

    1.集合概述

        我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,就不能是一个基本的变量,而应该是一个容器类型的变量。

    2.ArrayList集合

        1) 集合类的特点

            长度可变。

        2) ArrayList<E>

            大小可变数组的实现。
            ①<E>:是一种特殊的数据类型,泛型。
            ②在出现E的地方我们使用引用数据类型替换即可。
            ③举例:ArrayList<String>,ArrayList<Student>。

        3) 构造方法

            ①ArrayList()。

        4) 添加元素

            ①public boolean add(Ee):添加元素。
            ②public void add(int index,Eelement):在指定的索引处添加一个元素。

        5) 代码案例

    public class ArrayListDemo {
        public static void main(String[] args) {
            //创建集合对象
            ArrayList<String> array = new  ArrayList<String>();
           
            //add(E e):添加元素
            array.add("hello");
            array.add("world");
            array.add("java");
           
            //add(int index,E element):在指定的索引处添加一个元素
            //array.add(1, "android");
           
            System.out.println("array:"+array);
        }
    }

    3.ArrayList删改查方法  

        1) 获取元素

            ①public E get(int index):返回指定索引处的元素。
        2) 集合长度

            ①public int size():返回集合中的元素的个数。
        3) 删除元素

            ①public boolean remove(Object o):删除指定的元素,返回删除是否成功。
            ②public E remove(int index):删除指定索引处的元素,返回被删除的元素。

        4) 修改元素
            ①public E set(int index,E element):修改指定索引处的元素,返回被修改的元素。

        5) 代码案例

    public class ArrayListDemo2 {
        public static void main(String[] args) {
            //创建集合对象
            ArrayList<String> array = new ArrayList<String>();
           
            //添加元素
            array.add("hello");
            array.add("world");
            array.add("java");
           
            //public E get(int index):返回指定索引处的元素
            //System.out.println("get:"+array.get(0));
            //System.out.println("get:"+array.get(1));
            //System.out.println("get:"+array.get(2));
           
            //public int size():返回集合中的元素的个数
            //System.out.println("size:"+array.size());
           
            //public boolean remove(Object o):删除指定的元素,返回删除是否成功
            //System.out.println("remove:"+array.remove("world"));//true
            //System.out.println("remove:"+array.remove("world"));//false
           
            //public E remove(int index):删除指定索引处的元素,返回被删除的元素
            //System.out.println("remove:"+array.remove(0));
           
            //public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
            System.out.println("set:"+array.set(1, "android"));
           
            //输出
            System.out.println("array:"+array);
        }
    }

    4.以简单的学生管理系统为例,巩固ArrayList的使用

    package manager;
    
    public class Student {
        private String id;
        private String name;
        private String age;
        private String address;
    	
        // 学生类的构造方法
        public Student(String id, String name, String age, String address) {
            this.id = id;
            this.name = name;
            this.age = age;
            this.address = address;
        }
    	
        // 学号的获取和重置
        public String getId() {
            return this.id;
        }
        public void setId(String id) {
            this.id = id;
        }
    	
        // 姓名的获取和重置
        public String getName() {
            return this.name;
        }
        public void setName(String name) {
            this.name = name;
        }
    	
        // 年龄的获取和重置
        public String getAge() {
            return this.age;
        }
        public void setAge(String age) {
            this.age = age;
        }
    	
        // 地址的获取和重置
        public String getAddr() {
            return this.address;
        }
        public void setAddr(String address) {
            this.address = address;
        }
    }
    package manager;
    import java.util.ArrayList;
    /*
     * 	System.exit(0);
     * 	删除时,使用==查找不行,然后使用equals才可以
     */
    import java.util.Scanner;
    
    public class Manager {
        private static Student s;
        private static Scanner scan;
        public static void main(String[] args) {
            ArrayList<Student> array = new ArrayList<Student>();
            while(true) {
                System.out.println("--------学生管理系统欢迎您---------");
                System.out.println("   1:添加学生");
                System.out.println("   2:删除学生");
                System.out.println("   3:修改学生");
                System.out.println("   4:查找学生");
                System.out.println("   5:查看所有学生");
                System.out.println("   6:退出管理系统");
                System.out.println("请输入您的选择:");
    			
                scan = new Scanner(System.in);
                String input = scan.nextLine();
    				
                switch(input) {
                    case "1":
                        addStu(array);
                        break;
                    case "2":
                        // 删除
                        removeStu(array);
                        break;
                    case "3":
                        // 修改
                        changeStu(array);
                        break;
                    case "4":
                        // 查找
                        find(array);
                    case "5":
                        // 查看所有
                        findAll(array);
                        break;
                    case "6":
                        // 退出程序执行
                        System.exit(0);
                        break;
                    default:
                        System.out.println("请输入1-6的范围");
                        break;
                }
            }
        }
        // 添加学生
        public static void addStu(ArrayList<Student> array) {
            System.out.println("请输入添加学生编号:");
            String id = scan.nextLine();
            System.out.println("请输入该学生姓名:");
            String name = scan.nextLine();
            System.out.println("请输入该学生年龄:");
            String age = scan.nextLine();
            System.out.println("请输入您想添加的地址:");
            String address = scan.nextLine();
    	
            s = new Student(id, name, age, address);
            array.add(s);
            System.out.println("添加学生成功...");
        }
        // 删除学生
        public static void removeStu(ArrayList<Student> array) {
            if(array.size()==0) {
                System.out.println("不好意思,当前没有学生信息可供删除,请回去重试!");
                return;
            }
            System.out.println("请输入需要删除学生的姓名:");
            String input = scan.nextLine();
            for(int i=0; i<array.size(); i++) {
                s = array.get(i);
                if(input.equals(s.getName())) {
                    array.remove(i);
                }else {
                    System.out.println("不好意思,学生系统中没有这个学生");
                }
            }
    		
        }
        // 修改学生信息
        public static void changeStu(ArrayList<Student> array) {
            if(array.size()==0) {
                System.out.println("不好意思,当前没有学生信息可供修改,请回去重试!");
                return;
            }
            System.out.println("请输入需要修改学生的姓名:");
            String input = scan.nextLine();
            for(int i=0; i<array.size(); i++) {
                s = array.get(i);
                if(input.equals(s.getName())) {
                    System.out.println("请输入修改后的学生编号:");
                    String id = scan.nextLine();
                    s.setId(id);
                    System.out.println("请输入修改后的学生姓名:");
                    String name = scan.nextLine();
                    s.setName(name);
                    System.out.println("请输入修改后的学生年龄:");
                    String age = scan.nextLine();
                    s.setAge(age);
                    System.out.println("请输入修改后的的地址:");
                    String address = scan.nextLine();
                    s.setAddr(address);
                    System.out.println("修改完毕");
                }
            }
        }
        // 查找学生信息
        public static void find(ArrayList<Student> array) {
            if(array.size()==0) {
                System.out.println("不好意思,当前没有学生信息可供修改,请回去重试!");
                return;
            }
            System.out.println("请输入需要查找的姓名:");
            String input = scan.nextLine();
            for(int i=0; i<array.size(); i++) {
                if(input.equals(s.getName())) {
                    System.out.println("找到了...");
                }
            }
        }
        // 查看所有学生
        public static void findAll(ArrayList<Student> array) {
            if(array.size() == 0) {
                System.out.println("不好意思,当前没有学生信息可供查询,请回去重试!");
                return;
            }
            //"	"是一个tab键
            System.out.println("学号	姓名	年龄	地址");
            for(int i=0; i<array.size(); i++) {
                // 从集合中取出一个学生信息
                s = array.get(i);
                System.out.println(s.getId()+"	"+s.getName()+"	"+s.getAge()+"	"+s.getAddr());
            }
        }
    }
  • 相关阅读:
    招聘、外包和求职;找人、找活和找工作的都来看看。
    这周我加星(6)
    走出行业暴利思维,开始为“软件”付钱!
    真相,道歉。
    这周我加星(8-11)
    独家:Havok 发布新的 AI 中间件
    一奖三年得,终获 CSDN MVB,与大家分享喜悦
    “解决”OpenCASCADE图形设备初始化问题
    如何在Debian上安装ATI官方驱动
    VC++/MFC学习笔记(六)
  • 原文地址:https://www.cnblogs.com/djcoder/p/13052801.html
Copyright © 2011-2022 走看看