在java中的數組列表中,有沒有一種方法可以獲得由構成我的原始列表的數組上的所有第i個元素組成的列表?檢索java中的內部元素
例如(僞代碼):
輸入:
List<int[3]> A = {[1,2,3], [2,3,5], [1,0,7]}
i = 2
輸出:
B = {2,3,0}
我真的想實現這一點沒有明確地寫一個for循環或while循環或任何其他常規循環結構。有任何想法嗎?
在java中的數組列表中,有沒有一種方法可以獲得由構成我的原始列表的數組上的所有第i個元素組成的列表?檢索java中的內部元素
例如(僞代碼):
輸入:
List<int[3]> A = {[1,2,3], [2,3,5], [1,0,7]}
i = 2
輸出:
B = {2,3,0}
我真的想實現這一點沒有明確地寫一個for循環或while循環或任何其他常規循環結構。有任何想法嗎?
之前的Java 8,那麼你必須比去在名單和採摘的每一個元素在希望的位置沒有其他辦法:
之前Java8
public static void main(String[] args) {
List<int[]> aL = new ArrayList();
aL.add(new int[] { 1, 2, 3 });
aL.add(new int[] { 2, 3, 5 });
aL.add(new int[] { 1, 0, 7 });
int index = 1;
List<Integer> aLFinal = new ArrayList();
for (int[] i : aL) {
aLFinal.add(i[index]);
}
System.out.println("the list before java8 " + aLFinal);
}
後Java8
aLFinal = aL.stream().map(arr -> arr[index]).collect(Collectors.toList());
System.out.println("the list after java8 " + aLFinal);
希望這是你所需要的
public List<Integer> getYourResult(List<Integer[]> yourList, int index) {
if (index >= 3) return null;
List<Integer> result = new ArrayList<>();
for (int i = 0; i < yourList.size(); ++i) {
result.add(i, yourList.get(i)[index]);
}
return result;
}
你是什麼意思,沒有明確的循環? – Compass
你試過自己解決這個問題嗎? –
你是否想要找到一種內置於Java'List'類的方法來爲你做這件事? –