Java核心技术卷一 -第五章:数组列表初识

系列文章目录

Java核心技术卷一 -第一章:java“白皮书”的关键术语
Java核心技术卷一 -第三章:数据类型
Java核心技术卷一 -第三章:变量与常量
Java核心技术卷一 -第三章:运算符
Java核心技术卷一 -第三章:字符串
Java核心技术卷一 -第三章:输入与输出
Java核心技术卷一 -第三章:数组
Java核心技术卷一 -第四章:类之间的关系-依赖
Java核心技术卷一 -第四章:预定义类-LocalDate类小应用
Java核心技术卷一 -第四章:构造器
Java核心技术卷一 -第四章:null引用
Java核心技术卷一 -第四章:方法参数
Java核心技术卷一 -第四章:对象构造
Java核心技术卷一 -第五章:覆盖方法与super
Java核心技术卷一 -第五章:super关键字
Java核心技术卷一 -第五章:类的强制类型转换与instanceof操作符
Java核心技术卷一 -第五章:抽象类与abstract关键字
Java核心技术卷一 -第五章:Object类的toString方法


前言

本人为java初学者,文章内容仅为个人学习总结分享,其中包含了大量Java核心技术卷一里面的文章内容以及一些网站文章内容,由于参考文章过多,在此并不一一列出,如有侵权,请联系删除。

一、数组列表初识

在许多程序设计语言,特别是在C/C+语言中,必须在编译时就确定整个数组的大小程序员对此十分反感,因为这样做将迫使程序员做出一些不情愿的折中。例如,一个部门有多少员工?肯定不会超过100人。一旦出现一个拥有150名员工的大型部门呢?另外,你愿意为那些仅有10名员工的部门浪费90个存储空间吗?在Java中,情况就好多了。它允许在运行时确定数组的大小。

在Java中,解决这个问题最简单的方法是使用Java中的另外一个类,名为ArrayList。ArrayList类类似于数组,但在添加或删除元素时,它能够自动地调整数组容量,而不需要为此编写任何代码。

ArrayList是一个有类型参数(type parameter)的泛型类(generic class)。为了指定数组列表保存的元素对象的类型,需要用一对尖括号将类名括起来追加到ArrayList.后面,例如,ArrayList

二、使用步骤

很遗憾,天下没有免费的午餐。数组列表自动扩展容量的便利增加了访问元素语法的复杂程度。其原因是ArrayList类并不是Java程序设计语言的一部分;它只是由某个人编写并在标准库中提供的一个实用工具类。

不能使用我们喜爱的[]语法格式访问或改变数组的元素,而要使用get和set方法。

常用的方法:

在这里插入图片描述
在这里插入图片描述

三、例子说明

import java.time.LocalDate;
import java.util.*;
import java.time.*;
/**
 * This program demonstrates the ArrayList class.
 * @version 1.11 2012-01-26
 * @author Cay Horstmann
 */
 class ArrayListTest
{
    public static void main(String[] args)
    {
        // fill the staff array list with three Employee objects
        ArrayList<Employee> staff = new ArrayList<Employee>();

        staff.add(new Employee("Carl Cracker", 75000, 1987, 12, 15));
        staff.add(new Employee("Harry Hacker", 50000, 1989, 10, 1));
        staff.add(new Employee("Tony Tester", 40000, 1990, 3, 15));

        // raise everyone's salary by 5%
        for (Employee e : staff)
            e.raiseSalary(5);

        // print out information about all Employee objects
        for (Employee e : staff)
            System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay="
                    + e.getHireDay());
        
        //插入一个元素
        staff.add(1,new Employee("Aarry Hacker", 50000, 1989, 10, 1));
        System.out.println("------------------------");
        for (Employee e : staff)
            System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay="
                    + e.getHireDay());
        System.out.println("------------------------");
        
        //单独查看某元素
        Employee j = staff.get(2);
        System.out.println(j.getName());
    }
}

 class Employee {
     private String name;
     private double salary;
     private LocalDate hireDay;

     public Employee(String name, double salary, int year, int month, int day) {
         this.name = name;
         this.salary = salary;
         hireDay = LocalDate.of(year, month, day);
     }

     public String getName()
     {
         return name;
     }

     public double getSalary()
     {
         return salary;
     }

     public LocalDate getHireDay()
     {
         return hireDay;
     }

     public void raiseSalary(double byPercent)
     {
         double raise = salary * byPercent / 100;
         salary += raise;
     }
 }

结果:
在这里插入图片描述

总结

以上就是本文的内容,记录了一些关于java“数组列表初识”的内容,本人也是刚开始接触java,不能保证总结内容的正确性,若是有错误的话,欢迎大家指出,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luodiab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值