如何在Java中获取数组的第一个和最后一个元素?

63

如果我有一个双精度浮点数数组:

[10.2, 20, 11.1, 21, 31, 12, 22.5, 32, 42, 13.6, 23, 32, 43.3, 53, 14, 24, 34, 44, 54, 64, 15.1, 25, 35, 45, 55, 65.3, 75.4, 16, 26, 17.5,]

我想获取第一个元素和最后一个元素,以便

firstNum = 10.2

lastNum = 17.5

我该怎么做?


3
大多数使用 .length 获取数组大小的答案存在问题,因为你必须创建一个变量来获取列表的大小。请查看 https://dev59.com/nmEi5IYBdhLWcg3wRaqf。 - devssh
没错,你可能已经声明了一个数组来容纳25个项目,但你可能只填充了10个。所以(array.length-1)仍然会给你第25个项目的索引,而不是你填充的最后一个项目,即实际上在第10个位置或第9个索引! - Yo Apps
8个回答

115

如果你有一个名为numbers的双重数组,你可以使用:

firstNum = numbers[0];
lastNum = numbers[numbers.length-1];

或者使用 ArrayList

firstNum = numbers.get(0);
lastNum = numbers.get(numbers.size() - 1); 

4
为了让回答更加完整,添加一个文档参考:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html - acoelhosantos

9
在Java中,你可以使用以下方法获取数组的第一个和最后一个元素:
1. 使用数组索引: 要获取第一个元素,可以使用索引0进行访问。 要获取最后一个元素,可以使用索引array.length - 1进行访问。 以下是一个示例:
int[] array = {1, 2, 3, 4, 5};

int firstElement = array[0];
int lastElement = array[array.length - 1];

System.out.println("First Element: " + firstElement);
System.out.println("Last Element: " + lastElement);

2. 使用ArrayList(如果数组已转换为ArrayList):
如果您已将数组转换为ArrayList,可以使用get()方法访问第一个和最后一个元素。 要获取第一个元素,请使用arrayList.get(0)。 要获取最后一个元素,请使用arrayList.get(arrayList.size() - 1)。 以下是一个示例:
import java.util.ArrayList;

int[] array = {1, 2, 3, 4, 5};
ArrayList<Integer> arrayList = new ArrayList<>();

// Convert the array to ArrayList
for (int i : array) {
    arrayList.add(i);
}

int firstElement = arrayList.get(0);
int lastElement = arrayList.get(arrayList.size() - 1);

System.out.println("First Element: " + firstElement);
System.out.println("Last Element: " + lastElement);

无论是哪种方法,都可以在Java中检索数组的第一个和最后一个元素。选择最适合您需求和正在使用的数据结构类型的方法。

9
请在回答中加入一些上下文,不要只粘贴代码。请参考这里获取更多信息。 - gehbiszumeis

5
// Array of doubles
double[] array_doubles = {2.5, 6.2, 8.2, 4846.354, 9.6};

// First position
double firstNum = array_doubles[0]; // 2.5

// Last position
double lastNum = array_doubles[array_doubles.length - 1]; // 9.6

这在任何数组中都是相同的。


3

请检查这个

double[] myarray = ...;
System.out.println(myarray[myarray.length-1]); //last
System.out.println(myarray[0]); //first

2

在Java中获取数组的第一个和最后一个元素

double[] numbers = {10.2, 20, 11.1, 21, 31, 12, 
22.5, 32, 42, 13.6, 23, 32, 43.3, 53, 14, 24, 34,
44, 54, 64, 15.1, 25, 35, 45, 55, 65.3, 75.4, 16, 26, 17.5,};


double firstNumber= numbers[0];

double lastNumber = numbers[numbers.length-1];

System.out.println("firstNum = "+ firstNumber);

System.out.println("lastNum = "+ lastNumber);

2
我认为只有一种直观的解决方案,那就是:
int[] someArray = {1,2,3,4,5};
int first = someArray[0];
int last = someArray[someArray.length - 1];
System.out.println("First: " + first + "\n" + "Last: " + last);

输出:

First: 1
Last: 5

1
这是给定的数组。
    int myIntegerNumbers[] = {1,2,3,4,5,6,7,8,9,10};

// 如果你想打印数组中的最后一个元素。
    int lastNumerOfArray= myIntegerNumbers[9];
    Log.i("MyTag", lastNumerOfArray + "");

// 如果你想打印数组中元素的数量。

    Log.i("MyTag", "The number of elements inside" +
            "the array " +myIntegerNumbers.length);

//打印数组中最后一个元素的第二种方法。

    Log.i("MyTag", "The last elements inside " +
            "the array " + myIntegerNumbers[myIntegerNumbers.length-1]);

0
使用Java 8+的流:
import java.util.Arrays;
import java.util.Optional;


String[] items = {"one", "two", "three"};

Optional<String> first = Arrays.stream(items).findFirst();
Optional<String> last = Arrays.stream(items).reduce((x, y) -> y);

这种方法的好处是您无需事先检查数组的长度。例如,如果您有一个长度为零的数组并调用items[0],您将会得到一个ArrayIndexOutOfBoundsException

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接