【Java】数组与列表

首先

我是一个编程初学者。我正在网上学习编程,并希望进一步加深理解。我想将所学的内容作为备忘录,并继续加深理解。如果有任何错误或建议,请指出。谢谢。

与Ruby数组的不同

Java的数组与Ruby的数组性质不同。

在Java中,数组需要在最开始确定要存储的元素数量,并且似乎不能在之后更改元素的数量。

如果要增加元素,可以选择创建一个大小较大的数组并复制原始数据,或者使用一种叫做ArrayList的列表。

Java 数组

class Main {
  public static void main(String[] args) {
    int[] scores;
    scores = new int[3];

    scores[0] = 1;
    scores[1] = 5;
    scores[2] = 10;

    System.out.println(scores[0]);
    System.out.println(scores[1]);
    System.out.println(scores[2]);
  }
}
 sh -c javac -classpath .:target/dependency/* -d . $(find . -type f -name '*.java')
 java -classpath .:target/dependency/* Main
1
5
10
 

对于上述的代码进行解释。
使用Java数组的步骤如下:
① 声明数组
② 创建数组元素,并将其赋值给数组
③ 将值赋给数组元素

进行数组声明

声明一个存储整型数字的数组可以写作”int[] scores;”。

int[] scores;

在中文中,可以这样表达:
「int」是用于指定要存储的数据类型作为元素的内容。例如,如果要存储长整型的数组,则声明为 long[] scores;。

通过这个描述,可以得知进行了一个数组的声明。

创建数组元素并将其分配给数组。

scores = new int[3];

其中,在右边部分,使用了”new int[3];”这段代码。
这段代码创建了三个整数类型的元素。
然后将它们赋值给数组scores。
通过上述代码,我们可以声明一个数组,并准备好容纳三个元素的托盘。

将值分配给数组的元素

最后一个步骤是进行值的赋值。
刚刚我写下了以下的代码。

	
scores[0] = 1;

在配列scores的第一个元素上赋值为“1”。
这种写法与Ruby相似,指定索引为“0”来表示“第一个”也与Ruby相同。

此外,当要取出数组中的元素时,可按以下方式进行操作。

scores[0]

这个书写方式也与Ruby相同。

由于使用数组时有一些不同的写法,所以我会一一描述。

关于数组的各种描述方法

同时声明数组并创建元素的方法

在先前执行的代码中,我们将数组的声明和元素的创建分开执行,如下所示。

int[] scores;
scores = new int[3];

这两个可以用一行文字来表述如下。

int[] scores = new int[3];

在声明数组时使用类型推断的方法

使用类型推断声明数组的方式如下:

var scores = new int[3];

通过将三个类型为int的元素赋值给scores数组,可以推断出scores是用于存储它们的数组。

在中文中本地化地转述如下,只提供一种选项:

③ 一次性完成数组的声明和赋值的方法

如果在声明数组时赋值确定的情况下,可以省略如下所示的写法。

int[] scores = {1, 5, 10};

如果在声明时没有确定赋值的值,那么无法使用这种简洁的描述方法。

关于列表

列表是与Ruby数组类似的数据管理机制。
具有以下特点:

在Java中,有两种类型的列表可以对元素进行排序管理,还可以对元素进行事后添加或删除的操作。

ArrayList – 数组列表
LinkedList – 链表

有关ArrayList

ArraList 是用於使用可變長度陣列的機制。可變長度陣列指的是可以改變長度(元素數量)的陣列。

Ruby 的数组是可变长度的,所以它更接近于 Java 的 ArrayList 在性质和使用方法上。

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<Integer> scores = new ArrayList<Integer>();

    scores.add(1);
    scores.add(5);
    scores.add(10);
    scores.add(15);

    System.out.println(scores.get(0));
    System.out.println(scores.get(1));
    System.out.println(scores.get(2));
    System.out.println(scores.get(3));
  }
}

在使用ArrayList时,需要先导入库。
在编写上述代码时,请注意在第一行有一个import语句。

 sh -c javac -classpath .:target/dependency/* -d . $(find . -type f -name '*.java')
 java -classpath .:target/dependency/* Main
1
5
10
15
 

在上述的代码中,执行了以下四项操作。

①导入库
②声明ArrayList变量
③为ArrayList赋值
④从ArrayList中提取元素

我们将确认每个的使用方式。

① 导入库

在使用ArrayList时,需要导入库。
要进行导入,请在文件开头进行以下描述。

import java.util.ArrayList;

进行ArrayList的声明

ArrayList 的声明和初始化如下进行。

ArrayList<データ型> scores = new ArrayList<データ型>();

我先前的代码创建了一个存储整数的ArrayList,所以我将其描述如下。

ArrayList<Integer> scores = new ArrayList<Integer>();

在这里进行的是两个动作。

1. 用名为”score”的ArrayList声明来存储整数(Integer)。
2. 创建ArrayList的元素。

然后,我们将②赋值给①。

另外,尽管在右边指定了元素的数据类型,但可以省略这一点。即使以以下方式进行描述,也可以正常运行。

ArrayList<Integer> scores = new ArrayList<>();

将值分配给ArrayList。

要在ArrayList中添加元素,需要使用add方法。

在描述的时候,使用add(需要添加的元素值)的方式。

在之前运行的以下代码中,将一个名为scores的ArrayList增加了”1″。

scores.add(1);

使用add方法,元素会被添加到ArrayList的末尾。

从ArrayList中取出元素。

在提取要素时,请使用get方法。

描述是通过get(要获取元素的索引)的方式进行的。与从数组中取出元素相同,当想要取出“第一”元素时,需要将索引指定为“0”。

在之前执行的代码中,从scores中获取了第一个元素。

scores.get(0)
广告
将在 10 秒后关闭
bannerAds