`
rcyl2003
  • 浏览: 236959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java学习之ArrayList

阅读更多
 在编程中常常会遇到需要动态操纵数组,比如在运行时增加和删除数组元素,而且有时在编译时又不想确定数组大小希望它可以动态伸缩,在java中解决这一问题的方法是使用java.util包中的ArrayList类,该类提供了许多的方法可以实现数组的动态操控,我是一名java初学者在这里只想把自己的学习成果与大家分享,以后我还会写很多关于java的文章,希望大家多给意见!空话不多说,我们要注重实效来看个例子吧!(在Win2000下调试通过)

import java.util.*;

public class ArrayListTest
{
    public static void main(String[] args)
    {
        ArrayList staff = new ArrayList();
        Employee emp = new Employee("Ivan",60000,1984,10,6);
        Employee emp1 = new Employee("Jack",35000,1982,8,14);
        staff.add(new Employee("Carl Cracker", 75000, 1987, 12, 15));
        staff.add(new Employee("Harry Hacker", 50000, 1989, 10, 15));
        staff.add(new Employee("Tony Tester", 40000, 1990, 12, 15));


        //使用该方法将对象添加到列表的指定位置,而不会覆盖原有 值,原有值会自动往下移动一格
        staff.add(1, emp);


        //使用该方法将对象添加到列表的指定位置,会覆盖原有值
        staff.set(2,emp1);


        //使用该方法将指定位置的对象从列表中删除,其后的对象将自动往上移一个同时调整列表大小
        staff.remove(2);


        //size()返回当前列表中元素的个数
        System.out.println(staff.size());
       
        for (int i = 0; i < staff.size(); i++)
        {
            Employee e = (Employee)staff.get(i);
            e.raiseSalary(5);
        }
       
        for (int i = 0; i < staff.size(); i++)
        {
            Employee e = (Employee)staff.get(i);
            System.out.println(e);
        }
    }
   
}

class Employee
{
    public Employee(String n, double s, int year, int month, int day)
    {
        name = n;
        salary = s;
        GregorianCalendar calendar =
            new GregorianCalendar(year, month - 1, day);
        hireDay = calendar.getTime();
    }
   
    public String getName()
    {
        return name;
    }
   
    public double getSalary()
    {
        return salary;
    }
   
    public Date getHireDay()
    {
        return hireDay;
    }
   
    public void raiseSalary(double byPercent)
    {
        double raise = salary * byPercent / 100;
        salary += raise;
    }
   
    public String toString()
    {
        return getClass().getName()
            + "[name="+ name
            + ",salary="+ salary
            +",hireDay="+ hireDay
            +"]";
    }
   
    private String name;
    private  double salary;
    private Date hireDay;
   
}

大家看后可以猜出运行结果吗? 

分享到:
评论

相关推荐

    深入Java集合学习系列:ArrayList的实现原理

    《深入Java集合学习系列:ArrayList的实现原理》 在Java编程中,ArrayList是集合框架中一个重要的类,属于List接口的实现,它提供了动态数组的功能,允许我们在集合中存储、添加、删除元素,并且可以按索引访问。这...

    Java员工管理系统,ArrayList存储

    本项目聚焦于使用Java编程语言实现一个基于ArrayList的员工管理系统。ArrayList是Java集合框架中的一种动态数组,它提供了方便的数据存储和操作功能,特别适合用于小型数据集的存储。 在Java中,ArrayList类位于`...

    模拟java ArrayList Iterator

    总的来说,这个资源提供了学习和实践Iterator设计模式的机会,加深了对Java集合框架的理解。通过模拟ArrayList的Iterator实现,我们可以更深入地掌握如何在实际编程中利用这一强大的工具。同时,这也为我们设计自己...

    Arraylist例子代码 java

    在这个Java demo中,我们可以学习到ArrayList的基本操作。 1. **创建ArrayList** 创建ArrayList对象时,我们可以指定初始容量,或者不指定,Java会自动设置一个默认值。例如: ```java ArrayList&lt;String&gt; list =...

    Java基础-ArrayList方法全解(上).pdf

    ArrayList是Java集合框架中常用的动态数组,它允许我们在运行时添加、删除和访问元素。在Java中,ArrayList实现了List接口,因此它支持有序...记住,学习ArrayList不仅是掌握方法,更是理解其在不同场景下的最佳实践。

    【Java面试题】ArrayList和LinkedList区别

    【Java面试题】ArrayList和LinkedList区别

    深入Java集合学习系列(三):ArrayList实现原理

    Java集合框架中,ArrayList是一种常见的集合实现类,用于存储和操作对象集合。ArrayList基于动态数组的数据结构,因此它能够提供自动扩容的功能,同时也能够快速地进行随机访问。本篇文档将深入探讨ArrayList的内部...

    Java ArrayList实现的快排,归并排序,堆排序

    在Java编程中,排序是数据处理的一个重要...以上就是关于使用ArrayList实现快速排序、归并排序和堆排序的详细解析,这些排序算法是数据结构和算法学习中的经典内容,理解和掌握它们对于提升编程能力有着重要的作用。

    java的学习之路

    Java学习之路是一个全面而深入的学习旅程,对于任何想要掌握这门强大编程语言的人来说,都是一条必经的道路。Java以其跨平台性、高效稳定性和广泛的应用领域,深受开发者喜爱。以下将详细介绍Java学习的一些关键知识...

    java毕业设计之ArrayList,LinkList链表接口实现源码.zip

    通过这个项目,学生不仅可以学习到ArrayList和LinkedList的数据结构和算法,还能实践Java编程、数据库操作,以及使用Maven进行项目管理,从而全面提高自己的编程能力。同时,了解并掌握这些基础内容对于后续学习更...

    java学习心得体会

    "Java学习之路:不走弯路,就是捷径"这句话,恰如其分地概括了学习Java的关键——找到正确的方法,避免不必要的困扰。 首先,理解基础是至关重要的。Java的基础包括语法、数据类型、变量、运算符、控制结构等。这些...

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    java学习路线图以及学习java要学习的东西

    Java学习路线图是初学者踏入Java编程世界的重要指南。它为学习者提供了一条系统化的学习路径,确保全面掌握这门强大的编程语言。Java与C语言虽然都属于面向过程的编程语言,但Java更强调面向对象特性,拥有自动内存...

    Android:ArrayList学习实例

    在Android开发中,ArrayList是一个非常基础且常用的集合类,它继承自Java的AbstractList,并实现了List接口。ArrayList主要用于存储和管理有序的元素序列,它的核心特点是动态扩容,可以在运行时根据需要自动增加...

    Java基础 学习笔记 Markdownr版

    2. 集合:在13集合.md中,详细讲解了Java集合框架,包括ArrayList、LinkedList、HashSet、HashMap等基本集合类的使用,以及List、Set、Map接口的特性。此外,还可能涉及泛型的概念,泛型(14泛型.md)提高了代码的...

    JAVA学习笔记 林信良

    此外,《JAVA学习笔记》还涵盖了集合框架,包括ArrayList、LinkedList、HashSet、HashMap等各种集合类的使用,以及泛型、迭代器和流API的应用。这些内容对于处理数据和实现复杂算法至关重要。 对于多线程编程,书中...

    Java基础加强_ArrayList_HashSet的比较及Hashcode分析

    在Java编程语言中,ArrayList和HashSet是两种常用的集合类,它们各自有其特性和应用场景。在实际开发中,理解它们的差异以及如何有效地利用它们是非常...学习和掌握这些基础知识,将有助于成为一名更优秀的Java开发者。

    Java的Array和ArrayList教程by程谱CodeRecipe,适合学过Java入门教程的初学者使用

    学习ArrayList,你需要掌握以下关键概念: 1. 创建ArrayList:通过`ArrayList&lt;Type&gt; list = new ArrayList();`创建一个ArrayList,其中Type是数组中元素的类型。 2. 添加元素:使用`add()`方法向ArrayList添加元素。...

    Java中ArrayList类的用法.docx

    ### Java中ArrayList类的用法详解 #### 一、ArrayList的概念 `ArrayList`是Java集合框架中的一个重要组成部分,它提供了一种类似于数组的数据结构,但与传统的数组相比,`ArrayList`具有更多的灵活性。它可以动态地...

Global site tag (gtag.js) - Google Analytics