[Day13] CH08:积沙成塔——Array & ArrayList(下)

还记得前两天我们在介绍阵列的时候,有说到需要给他固定的长度,若超过就需要宣告一个新的更大的阵列吗?那有什麽办法让他可以动态改变大小呢?这时候就要介绍集合类别 ArrayList。

宣告方式:

ArrayList<元素型别> ArrayList名称 = new ArrayList<元素型别>();

元素型别类似於宣告阵列时需要定他的资料型态,但这里只能使用非资本型态,像是 String。不过很幸运的是,Java提供「装箱」的服务,若我们要宣告一个储存 integer 的 ArrayList 来储存整数,将整数值放置到 ArrayList 当中,就会被包装为整数物件,以下是各个基本型态转换成包装类别(Wrapper Class):

基本型态 包装类别
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

那 ArrayList 要怎麽运用呢?以下是一些常见的方法:

方法 说明
add 在 ArrayList 最後加一笔元素
clear 移除 ArrayList 所有元素
contains 如果 ArrayList 含有指定的元素回传 true,否为 false
get 传回位於指定索引值的元素
indexof 传回指定元素在 ArrayList 第一次出现的索引值
remove 会移除第一次出现指定值的元素,或是指定索引值的元素
size 传回 ArrayList 中储存元素的数量
trimToSize 将 ArrayList 容量缩减至目前元素数量

以下就从范例中观看个方法如何使用:

import java.util.ArrayList;

public class ArrayListCollection {
    public static void main(String[] args){
        ArrayList<String> Students = new ArrayList<String>();

        Students.add("Betty");
        Students.add(0, "Alan");

        System.out.print("First student list:");
        for(String student : Students){
            System.out.printf(" %s", student);
        }
        System.out.println();

        Students.add("Jane");
        Students.add("Betty");

        System.out.print("Second student list:");
        for(String student : Students){
            System.out.printf(" %s", student);
        }
        System.out.println();

        Students.remove("Betty");

        System.out.print("Third student list:");
        for(int i = 0 ; i < Students.size() ; i++){
            System.out.printf(" %s", Students.get(i));
        }
        System.out.println();

        Students.remove(1);

        System.out.print("Forth student list:");
        for(int i = 0 ; i < Students.size() ; i++){
            System.out.printf(" %s", Students.get(i));
        }
        System.out.println();

        if(Students.contains("Jane")){
            System.out.println("Contain Jane.");
        }
        else{
            System.out.println("Not contain Jane.");
        }
    }    
}
First student list: Alan Betty
Second student list: Alan Betty Jane Betty
Third student list: Alan Jane Betty
Forth student list: Alan Betty
Not contain Jane.

实做完应该就发现他其实不难(应该啦!),这三天我们学了很多关於阵列的基本概念,接下来几天我们就要来实际应用他了!


<<:  Day 0xC UVa10170 The Hotel with Infinite Rooms

>>:  Day 03 HTML<列表标签>

JavaScript入门 Day13_如何使用数字5

讲了好几天的数字的用法,今天再来讲一个数字的语法 那就是Math.sqrt( ) 那这个是什麽呢,前...

BPMN 业务流程图

BPMN (Business Process Model and Notation) 也是一个用来做...

Day19. Blue Prism请gmail帮忙 -BP 自动送出Email附件

由於老师的成绩分级档案需要能自动送交学校教务处, 因此,我们就来设计一个可以自动将档案附在Email...

灵异现象 - 怎麽大家都能改阿

灵异现象 - 怎麽大家都能改阿 灵异现象 故事主角:小新 小新的 IT 同事小王最近转部门跑去做 R...