2016-07-07 3 views
-2

목록의 요소 수에 액세스하는 방법에 대해 많은 질문과 대답을 찾았지만 목록의 특정 항목에있는 요소 수에 액세스하는 방법에 대한 질문은 표시되지 않았습니다.(Java) 목록에서 항목 내의 요소 수를 얻는 방법은 무엇입니까?

다각형의 정렬 된 쌍을 포함하는 Point 배열 목록이 있습니다. (각 다각형에 대해 하나의 목록 요소) (두 개의 다각형 만있을 것입니다.)이 목록의 특정 인덱스에있는 요소의 수를 기반으로 동적으로 크기가 조정 된 새 목록을 만들어야합니다. (예를 들어, 첫 번째 다각형이 8 점이면, 8 개의 새로운 List를 만들고 그 중 8 개의 점을 그 꼭지점에 넣어야합니다. 두 번째 점은 Number를 기준으로합니다.) List 클래스에 size() 함수가 있지만 시도 :

private List<Poly.Point[]> mergePolyList; 
mergePolyList = LayoutMerger.mergePolyList; 
//LayoutMerger is a separate Java file where I made the arrays 
Poly.Point [] pArrayBox1 = new Poly.Point[mergePolyList.get(0).size()]; 
//^Causes a "cannot find symbol" error 

"기호를 찾을 수 없음"오류가 발생합니다. 나는 이것을 할 수있는 방법이 있다고 확신한다. 나는 정확한 구문을 확신 할 수 없다. 나는 목록을 반복하고 크기()를 호출해야한다고 생각합니다. 도움을 주셔서 감사 드리며 다른 정보를 제공해야하는지 알려주세요.

+0

나는 아마도'Point' 사용자 정의 클래스는이 경우 표준 자바'Point' 라이브러리를 사용하지 않는 것을 지적한다 : 당신은 배열의 length 속성을 사용해야합니다. –

+4

당신의'mergePolyList' 요소는 * 배열 * 콜렉션이 아닙니다. 배열에는'size()'메서드가 없습니다. 대신에 '길이'가 있습니다. –

+0

뭔가 간단합니다.'Poly.Point [] pArrayBox1 = new Poly.Point [mergePolyList.get (0) .length];'완벽하게 작동합니다. John Bollinger, 간단한 오류를 용서해 주셔서 감사합니다. –

답변

0

mergePolyList은 배열 목록입니다.

Poly.Point [] pArrayBox1 = new Poly.Point[mergePolyList.get(0).length]; 
관련 문제