Java第十三课

本文详细介绍了Java集合框架中的ArrayList、LinkedList、Vector和Set接口的子类如HashSet,讲解了迭代器Iterator的使用,以及泛型的概念。通过员工管理的实例展示了集合在实际问题中的应用,强调了不同集合类在添加、删除、查询操作上的效率差异,并布置了使用HashMap实现员工管理的作业。
摘要由CSDN通过智能技术生成

1 集合:

1.1 回顾

1) 静态的关键字static: 类,方法,属性(是属于类所有的,所有对象共享),静态代码段(执行时机 类加载)
2) 内部类:基本应用swing中的事件的监听 内部类中可以直接访问外部类的成员,反之则不行; 闭包; 还是多继承的一种处理方式
3) 方法的调用: 递归调用
4) 方法的参数传递: 值传递 对于基本类型和引用类型传递规律(String 的不变性)
5) 方法的可变参数: … void t(int … args){}
6) 断言:了解 assert Boolean: “提示信息”;
7) Arrays的常见方法

1.2 作业讲解:

还行,就是老师没讲我昨天碰到的困惑,就是哪个calendar方法中的set:

package day13;

import java.util.Calendar;

public class TestCalendar {

    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();

        System.out.println(calendar);
        //重新设置了year的部分
        //此处只是秀给了某个对象的属性值
        calendar.set(Calendar.YEAR, 2016);
        System.out.println(calendar);

    }

}
package day13;

import java.util.Arrays;
import java.util.Comparator;

public class TestArrays {
    public static void main(String[] args) {

        String[] array = { "2", "12", "123", "4" };

        Arrays.sort(array, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                // TODO Auto-generated method stub
                return Integer.parseInt(o1) - Integer.parseInt(o2);
            }
        });

        for (String string : array) {
            System.out.println(string);
        }

    }

}

Arrays的sort方法还没懂: 先会应用

课后作业
预习 : 集合
编码实现对一个公司的员工进行简单的访问: 增加员工,删除员工,修改员工,查询员工(姓名 查询所有 根据员工编号等);

分析: 每个员工都应该是一个对象(Employee) ->一个公司有多个员工(数组或者集合来处理) ->针对数组的操作: ->增加员工,删除员工,修改员工,查询员工(姓名 查询所有 根据员工编号等

后续将上面的案例使用集合来处理 ->将数据和数据库-> Java+JDBC

实体类

package homework;

/**
 * 公司员工(雇员) 实体类
 * 
 * @author Administrator
 *
 */
public class Employee {
   

    // 员工编号
    private String empNo;
    // 姓名
    private String empName;
    // 部门
    private String deptName;// 这里后面会变化
    // 工资
    private double salary;

    public Employee() {
        // TODO Auto-generated constructor stub
    }

    public Employee(String empNo, String empName, String deptName, double salary) {
        super();
        this.empNo = empNo;
        this.empName = empName;
        this.deptName = deptName;
        this.salary = salary;
    }

    public String getEmpNo() {
        return empNo;
    }

    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "Employee [empNo=" + empNo + ", empName=" + empName + ", deptName=" + deptName + ", salary=" + salary
                + "]";
    }

}

员工管理类

package homework;

import java.util.Scanner;

/**
 * 员工管理
 * 
 * @author Administrator
 *
 */
public class EmpManage {
   
    // 有几个员工?多个员工?
    // 我们使用数组可以解决,但是如果数组一旦定义长度就固定了,以后不好扩展
    private Employee emps[] = new Employee[20]; // 默认值 null

    // 通常 增加的操作会写成一个方法
    public void addEmp(Employee emp) {

        for (int i = 0; i < emps.length; i++) {
            if (emps[i] == null) {
                emps[i] = emp;
                System.out.println("增加成功");
                break;
            }
        }

    }

    /**
     * 输入
     */
    public void inputEmp() {

        Scanner input = new Scanner(System.in);
        System.out.println("*********请输入 员工编号,姓名,部门,基本工资**********");
        String empNo = input.nextLine();
        String empName = input.nextLine();
        String deptName = input.nextLine();
        double salary = input.nextDouble();

        Employee emp = new Employee(empNo, empName, deptName, salary);
        addEmp(emp);

    }

    /**
     * 员工的
     */
    public void showEmp() {

        System.out.println("***********公司员工列表如下*****************");
        for (Employee employee : emps) {
            if (employee == 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值