2017-01-20 2 views
0

나는 2 차원 목록에 배열의 요소를 요약 함수를 작성하고 1 차원 목록에 추가 모호하고 목록에조차 없다. println 메소드 결과 :예기치 않은 결과가 PDE

[-232, -232, -232] -232 [-232, -232, -232] -232 [-223, -223, -223] -223 [ -223, -223, -223, -223] -223 [-219, -219, -219] -219 [-214, -214, -214] -214 [-14, -14, -14 [-10, -10, -10] -14 [-10, -10, -10] -10 [-5, -5, -5] -5 [-4, -4, -4, -4] -4 [-4, -4, -4, -4] -4 [-4, -4, -4, -4] -4 [-4, -4, -4, -4] -4 [-4, -4 , -4, -4] -4 [-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 , -4, -4] -4 []

하지만, 결과가 확인 될 것입니다 (제로의이 경우) 루프 외부의 다른 요소를 추가 할 때 (난 아직도 모르겠어요 그것이) . 이 후 println 메소드 결과 : 나는 함수가 아무런 문제가되지 않습니다 확신하기 때문에

[-232, -232, -232, 0]

나는 이것에 대해 완전히 혼란 스러워요 개별적으로 테스트했기 때문에 문제가 없습니다. 그리고 그것은 C#에서 전체 프로젝트를 작성한 arraylist 원인이 될 수 없으며 잘 작동합니다.

+0

전달할 목록의 크기는 얼마나됩니까? –

+0

@NirajPatel 때마다 다릅니다. 의사 결정 나무에 달려 있습니다. –

+1

우연히 여러 스레드가 실행 중입니까? 이상적으로는 문제를 시연하는 [mcve]를 제공하십시오. –

답변

1

다음은 2 차원 배열의 모든 정수를 수집하여 목록에 넣는 방법입니다.

public static List<Integer> listElements(int[][] array) { 
     List<Integer> list = new ArrayList<Integer>(); 
     for (int[] subArray : array) { 
      IntStream.of(subArray).forEach(i -> list.add(i)); 
     } 
     return list; 
    }