ArrayList的使用

ArrayList的使用

1.简述ArrayList集合的定义格式和常用方法的功能?
格式:ArrayList<Object> array = new ArrayList<Object>();
add(Obbject);//直接储存元素
add(index,Object);在指定位置储存元素
size();//获取集合长度
iterator();//获取集合的迭代方式
set(index,Object);//设置指定元素
get(index);//获取指定元素
remove(index);//删除指定位置的元素
**************************************************************************************************
2.以下选项错误的是?
A.获取数组的长度用length方法//错误 是属性
B.获取字符串的长度用length属性//错误 是方法
C.获取集合ArrayList的长度用length方法//错误 用size();方法
D.获取数组的长度用length属性//正确
E.获取字符串的长度用length方法//正确
F.获取集合ArrayList的长度用length属性//错误
G.获取集合ArrayList的长度用size属性//错误
H.获取集合ArrayList的长度用size方法//正确
===========================================================
编写程序当用户输入数字 1 查看所有商品,2 改变库存数,3 退出
package com.util.demo;

public class Goods {
      String brand;
      double size;
      double price;
      int count;
}


package com.util.demo;

import java.util.ArrayList;
import java.util.Scanner;

public class Shop {

    public static void main(String[] args) {
             ArrayList<Goods> array=new ArrayList<Goods>();
             addGoods(array);
             while(true){
                 int number = chooseFunction();
                 switch(number){
                 case 1:

                     //查看所有商品
                     pritStore(array);
                     break;
                 case 2:
                    //进入修改功能  调用修改库存的方法
                     update(array);
                     break;
                 case 3:
                     break;
                 default:
                     System.out.println("无此功能");
                     break;
                 }
             }
    }
    private static void update(ArrayList<Goods> array) {
         System.out.println("========商品库存修改功能========");
         System.out.println("请输入商品名称");
         Scanner s=new Scanner(System.in);
         String name=s.next();
         for(int i=0;i<array.size();i++){
             Goods g=array.get(i);
             if(name.equals(g.brand)){
                 System.out.println("当前库存数为"+g.count);
                 System.out.println("你想把库存数修改为:");
                 Scanner sc=new Scanner(System.in);
                 int count=sc.nextInt();
                 g.count=count;
                 System.out.println("修改成功,当前库存为"+count);
         }
         } 
        
    }
    private static int chooseFunction() {
        System.out.println("=========商场库存管理=========");
        System.out.println("1 查看库存");
        System.out.println("2 修改库存清单");
        System.out.println("3 退出");
        Scanner s=new Scanner(System.in);
        int number=s.nextInt();
        return number;
    }
    private static void addGoods(ArrayList<Goods> array) {
        Goods g1=new Goods();
        g1.brand="小米";
        g1.price=8888.9;
        g1.size=5.6;
        g1.count=6;
        
        Goods g2=new Goods();
        g2.brand="华为";
        g2.price=8888.9;
        g2.size=5.6;
        g2.count=6;
        
        Goods g3=new Goods();
        g3.brand="魅族";
        g3.price=8888.9;
        g3.size=5.6;
        g3.count=6;
        
        array.add(g1);
        array.add(g2);
        array.add(g3);
        
    }
    public static void pritStore(ArrayList<Goods> array){
        System.out.println("=========商品库存清单=========");
        System.out.println("品牌          尺寸            价格           库存数");
        for (int i=0;i<array.size();i++){
            Goods g=array.get(i);
            System.out.println(g.brand+"      "+g.size+"     "+g.price+"     "+g.count);
            
        }
    }

}





3.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。
A:遍历集合遍历输出。
B:求出年龄最大的学生,让后将该对象的姓名变为:王者荣耀。
package com.student.demo;

public class Student {
     String name;
     int age;
     String six;
}



package com.student.demo;

import java.util.ArrayList;

public class TextStudent {

    public static void main(String[] args) {
        ArrayList<Student> arr=new  ArrayList<Student>();
        addName(arr);
        printName(arr);
        maxAge(arr);

    }

    private static void maxAge(ArrayList<Student> arr) {
        int max=arr.get(0).age;
        int index=0;
        for(int i=0;i<arr.size();i++){
            if(max<arr.get(i).age){
                max=arr.get(i).age;
                index=i;
            }
        }
        arr.get(index).name="王者荣耀";
        System.out.println(arr.get(index).name);
        System.out.println(max);
        for(int i=0;i<arr.size();i++){
            System.out.println(arr.get(i).name+"   "+arr.get(i).age+"    "+arr.get(i).six);
        }
    }

    private static void printName(ArrayList<Student> arr) {
        for (int i=0;i<arr.size();i++){
            Student s=arr.get(i);
            System.out.println(s.name+"    "+s.age+"    "+s.six);
        }
        
    }

    private static void addName(ArrayList<Student> arr) {
        Student s1=new Student();
        Student s2=new Student();
        Student s3=new Student();
        Student s4=new Student();
        
        s1.name="李登";
        s1.age=23;
        s1.six="女";
        
        s2.name="张三";
        s2.age=21;
        s2.six="男";
        
        s3.name="李四";
        s3.age=34;
        s3.six="女";
                
        s4.name="王五";
        s4.age=88;
        s4.six="男";
        
        arr.add(s1);
        arr.add(s2);
        arr.add(s3);
        arr.add(s4);
        
    }

}


4.定义一个手机类Phone,包含三个属性品牌(brand)、价格(price)、颜色(color)。
创建四个手机("小米"、"华为"、"魅族"、"oppo")对象存入ArrayList集合中,并遍历输出。
package cn.phone.demo;

public class Phone {
    String brand;
    double price;
    String color;
}



package cn.phone.demo;

import java.util.ArrayList;

public class TextPhone {

    public static void main(String[] args) {
        ArrayList<Phone> arr=new ArrayList<Phone>();
        addName(arr);
        printName(arr);
    }

    private static void printName(ArrayList<Phone> arr) {
        for(int i=0;i<arr.size();i++){
            Phone p=arr.get(i);
            System.out.println(p.brand+"   "+p.price+"   "+p.color);
        }
        
    }

    private static void addName(ArrayList<Phone> arr) {
        Phone p1=new Phone();
        Phone p2=new Phone();
        Phone p3=new Phone();
        Phone p4=new Phone();
        
        p1.brand="小米";
        p1.price=666.6;
        p1.color="宝石蓝";
        
        p2.brand="华为";
        p2.price=8888.9;
        p2.color="翡翠绿";
        
        p3.brand="魅族";
        p3.price=9999.9;
        p3.color="玫瑰金";
        
        p4.brand="oppo";
        p4.price=5555.5;
        p4.color="海鸥灰";
        
        arr.add(p1);
        arr.add(p2);
        arr.add(p3);
        arr.add(p4);
    }

}


5.定义一个员工类Employee,包含三个属性姓名、工号、工资,创建三个员工对象存入ArrayList集合中,并遍历输出。
package cn.employee.dom;

public class Employee {
      String name;
      String num;
      double salary;
}



package cn.employee.dom;

import java.util.ArrayList;

public class TextEmployee {

    public static void main(String[] args) {
        ArrayList<Employee> arr=new ArrayList<Employee>();
        addName(arr);
        printName(arr);

    }

    private static void printName(ArrayList<Employee> arr) {
        for(int i=0;i<arr.size();i++){
            Employee e=arr.get(i);
            System.out.println(e.name+"   "+e.num+"   "+e.salary);
        }
        
    }

    private static void addName(ArrayList<Employee> arr) {
        Employee e1=new Employee();
        Employee e2 =new Employee();
        Employee e3=new Employee();
        
        e1.name="张三";
        e1.num="001";
        e1.salary=5880;
        
        e2.name="李四";
        e2.num="002";
        e2.salary=6666.6;
        
        e3.name="王五";
        e3.num="003";
        e3.salary=8888.8;
        
        arr.add(e1);
        arr.add(e2);
        arr.add(e3);
        
    }

}


6.利用上面的三个案例,分别演示ArrayList集合中的以下常用方法:
* public boolean add(元素类型 e)直接向集合添加元素

* public void add(int index,元素类型 e)在指定索引处向集合添加元素

* public 元素类型 remove(int index)删除指定索引位置的元素

* public 元素类型 set(int index,元素类型 e)修改指定索引位置的元素

* public int size()获取集合长度

* public 元素类型 get(int index)根据指定索引获取集合元素
7 倒着打印九九乘法表
package cn.cheng.demo;

public class Cfb {

    
    public static void main(String[] args) {
        for(int i=9;i>=1;i--){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+j*i+"    ");
                
            }
            System.out.println();
        }

    }

}