比方說,在另一個包含字符串的ArrayList內部有一個ArrayList。獲取數組內的最後一個對象:O
private List<ArrayList<String>> strings = new ArrayList<ArrayList<String>>();
添加一些數組和字符串後,我想得到最後一個數組中的最後一個字符串,該怎麼辦?
比方說,在另一個包含字符串的ArrayList內部有一個ArrayList。獲取數組內的最後一個對象:O
private List<ArrayList<String>> strings = new ArrayList<ArrayList<String>>();
添加一些數組和字符串後,我想得到最後一個數組中的最後一個字符串,該怎麼辦?
好了,你可以使用:
ArrayList<String> lastList = strings.get(strings.size() - 1);
String lastString = lastList.get(lastList.size() - 1);
或用Guava(或您自己的getLast
方法,這將是很容易寫的...):
String lastString = Iterables.last(Iterables.last(strings));
String lastElement = strings.get(strings.size()-1).get(strings.get(strings.size()-1).size()-1);
你已經證明了爲什麼把它分成兩個語句是個好主意 - 你的'get'調用應該是'.get(strings.get(strings.size() - 1).size() - 1)' – 2013-03-02 15:14:02
你是對的,在一個聲明中做到這一點很棘手。 – niculare 2013-03-02 15:18:32
除非你有類似番石榴的東西,反正:) – 2013-03-02 15:39:08
List<String> lastInnerList = strings.get(strings.size() - 1);
String lastString = lastInnerList.get(lastInnerList.size() - 1);
int outerListSize = strings.size();
ArrayList<String> lastInnerList = strings.get(outerListSize - 1);
int lastInnerListSize = lastInnerList.size();
String str = lastInnerList.get(lastInnerListSize - 1);
[你有什麼試過?](http://whathaveyoutried.com) – 2013-03-02 15:12:27
難道你不能通過閱讀List的javadoc來找到它嗎? – 2013-03-02 15:13:51
請注意,您的代碼不會顯示任何數組 - 只有列表。 – 2013-03-02 15:16:53