2013-03-02 80 views
1

比方说,在另一个包含字符串的ArrayList内部有一个ArrayList。获取数组内的最后一个对象:O

private List<ArrayList<String>> strings = new ArrayList<ArrayList<String>>(); 

添加一些数组和字符串后,我想得到最后一个数组中的最后一个字符串,该怎么办?

+0

[你有什么试过?](http://whathaveyoutried.com) – 2013-03-02 15:12:27

+1

难道你不能通过阅读List的javadoc来找到它吗? – 2013-03-02 15:13:51

+0

请注意,您的代码不会显示任何数组 - 只有列表。 – 2013-03-02 15:16:53

回答

6

好了,你可以使用:

ArrayList<String> lastList = strings.get(strings.size() - 1); 
String lastString = lastList.get(lastList.size() - 1); 

或用Guava(或您自己的getLast方法,这将是很容易写的...):

String lastString = Iterables.last(Iterables.last(strings)); 
2
String lastElement = strings.get(strings.size()-1).get(strings.get(strings.size()-1).size()-1); 
+0

你已经证明了为什么把它分成两个语句是个好主意 - 你的'get'调用应该是'.get(strings.get(strings.size() - 1).size() - 1)' – 2013-03-02 15:14:02

+0

你是对的,在一个声明中做到这一点很棘手。 – niculare 2013-03-02 15:18:32

+0

除非你有类似番石榴的东西,反正:) – 2013-03-02 15:39:08

4
List<String> lastInnerList = strings.get(strings.size() - 1); 
String lastString = lastInnerList.get(lastInnerList.size() - 1); 
2
int outerListSize = strings.size(); 
ArrayList<String> lastInnerList = strings.get(outerListSize - 1); 
int lastInnerListSize = lastInnerList.size(); 
String str = lastInnerList.get(lastInnerListSize - 1); 
相关问题