仅获取数组中的第一个名称

时间:2015-10-21 01:25:12

标签: java arrays arraylist

我有一个这样的数组列表: ArrayList names = new ArrayList<>(); ,用于存储人们在不同教科书中输入的名字和姓氏。

因此,当提示Joe Biden成为1号元素时,Barack Obama将成为阵列列表中的第2号元素。我的问题是,如果有可能只从阵列中得到像Joe这样的名字而没有得到拜登吗?

2 个答案:

答案 0 :(得分:0)

是的,你可以做到

names.get(0).split("\\s+")[0]  //this would get you "Joe"

获取姓氏可能

names.get(0).split("\\s+")[1] //this would get you "Biden"

这种方式完全取决于你的名字和姓氏之间有空格的事实。并且显然可以将0编辑为您想要的任何索引。

答案 1 :(得分:0)

每个元素都将作为String对象位于ArrayList中。

您可以使用Str.split()将其拆分为数组并获取姓氏。

让我们说你的ArrayList

String str = names.get(0); //Joe Biden
String[] arr = str.split(" "); //this will create Array of String objects
System.out.println(arr[1]); will print Biden

但是要小心使用这种方法,它不适用于拥有3个名字或一个名字的人。具有一个名称的人将导致ArrayIndexOutOfBoundsException。拥有多个姓名的人将错误地打印姓氏。

但是你可以通过这样做来解决这个问题,

int arrLength = arr.length;
if(arrLength > 0) {
    System.out.println(arr[arrLength - 1]); //this will always print the last name, if the name isn't empty
}