2013-03-02 76 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); 
相關問題