ArrayList类的使用方法学习

Arraylist类的使用:

语法:

ArrayList Object_Name = new ArrayList();

ArrayList Object_Name = new ArrayList(Initial_Capacity);

其中Base_Type必须是引用类型,通常时类类型;而不能是原语类型。

举例:

import java util.ArrayList;

ArrayList< String > list = new ArrayList < String > (20);

这段代码的意思是将list变成为Arraylist的名称,它存储String类的对象,并且初始容量是20个数据项(但这个容量是可变的,此时只不过是预先给它分配了20个容量空间而已,一般来说,我们巧妙的为它分配适合自身的内存,有助于程序的高效运行)。

注意:任何一个引用类型都可以作为Arraylist类的基本类型,任何一个类或接口类型也可以作为基本类型,但原语类型(如int,double)不能作为Arraylist的基本类型。

高尔夫分数程序:

import java.util.ArrayList;
import  java.util.Scanner;
public class GolfScores
{
    public static void main(String [] args)
    {
        ArrayList score = new ArrayList ();
        System.out.println(“This program reads golf scoress and shows”);
        System.out.println(“how much each differs from the average.”);
        System.out.println(“Enter golf scores:”);
        fillArrayList(score);
        showDifference(score);
    }
}
public static void fillArrayList(ArrayList a)
{
    System.out.println(“Enter a list of nonnegative numbers.”);
    System.out.println(“Mark the end of the list with a negative number.”);
    Scanner keyboard = new Scanner (System.in);
    double next;
    int index = 0;
    next = keyboard.nextDouble();
    while(next > 0){
        a.add(next);
        next = keyboard.nextDouble();
    }
}
public static double computerAverage(ArrayList a)
{
    double total = 0;
    for(Double element : a)
        total = total + element;
    int numberOfScores = a.size();
    if(numberOfScores > 0){
        return (total/numberOfScores);
    }
    else{
        System.out.println(“Erroe:Trying to average 0 number:”);
        System.out.println(“computerAverage returns 0.”);
        return 0;
    }
}
public static void showDifference(ArrayList a)
{
    double average  = computerAverage(a);
    System.out.println(“Average of the ” + a.size() + “scores =” + average);
    for(Double element : a)
        System.out.println(element + “differs from average by” + (element - average));
}

ArrayList中的方法:

构造方法:

public ArrayList (int initialCapacity);

//用指定的基本类型(Base_Type)和初始容量(initialCapacity)创建一个空的ArrayList

返回索引处的元素:

public Base_Type get(int index);

//类似于返回数组的a[index],同样的,index不在定义范围之内的话会抛出IndexOutOfBoundException异常

添加元素的方法:

public boolean add(Base_Type newElement);

//将指定位置处的元素添加到主叫ArrayList的末尾,添加成功则返回true;

删除元素的方法:

public Base_Type remove(int index)

//删除并返回指定索引处的元素,同理,index不能越界,否则回抛出异常;

查找方法:

public boolean contain(Object target);

//返回第一个等于target的元素的索引。该方法使用equals方法测试是否相等,如果没有找到target,则返回-1。

内存管理:

public boolean isEmpty();

制作一个副本:

public Object toArray();

//返回一个包含该列表中的所有元素的值。元素顺序保持不变。

public Objec clone();

//返回主叫ArrayList的潜副本。但是必须注意的是该克隆不是一个独立的副本,随后对该克隆的改变可能会影响主叫对象,反之亦然(此处用到的概念是浅拷贝)。

遍历ArrayList元素:

for(Array_Base_Type Variable :ArrayList_Object)

Statement

实例:

for(Integer element : numberList)

element = 42;

//numberList是一个基本类型为Integer的ArrayList。这个循环将numberList的每个元素的值改为了42.(此处用到了自动装箱的概念!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值