컬렉션이 있습니다 Collection<RECOBeacon> recoBeacons
첫 번째 요소는 RECOBeacon first = recoBeacons.iterator().next();
으로 얻지 만 두 번째 얻기에는 문제가 있습니다. RECOBeacon second = first.next();
과 second = first.iterator().next()
을 시도했지만 이들 중 아무 것도 작동하지 않았습니다. 아무도이 문제를 해결하는 방법을 알고 있습니까? 감사합니다.컬렉션의 두 번째 요소를 얻는 방법은 무엇입니까?
-1
A
답변
3
당신은 제 1 및 제 2 요소를 모두 가져 같은 반복자를 사용해야합니다
Iterator<RECOBeacon> iter = recoBeacons.iterator();
RECOBeacon first = iter.next();
RECOBeacon second = iter.next()
Collection
보다 작이있는 경우 예외를 방지하기 위해, iter.next()
각 호출하기 전에 iter.hasNext()
를 호출 좋을 것이다 두 요소.
0
@ Eran의 답변 외에도 전체 컬렉션을 반복하는 데 일반적으로 Iterator
초를 사용합니다. 당신의 경우에, 당신이 제 3, 제 4 요소를 얻고 자한다면 당신은 무엇을 할 것입니까? 그런 다음 반복자에 루프를 사용할 수 있습니다. 여기
Iterator<RECOBeacon> iter = recoBeacons.iterator();
while(iter.hasNext()) {
RECOBeacon nextBeacon = iter.next();
// do something with nextBeacon
}
,
hasNext()
는
NoSuchElementException
으로 실행에서 반복자를 방지하고 컬렉션의 끝에 도달 할 때 루프의 탈옥 원인이됩니다.
3
당신이 Java8에 있다면 당신은 스트림을 사용할 수 있습니다
RECOBeacon second = recoBeacons.stream().skip(1).findFirst().orElse(null);
이 솔루션의 좋은 점은 당신이 사용하는 경우 같은 hasNext 검사를 할 필요가 없습니다로 findFirst이 선택 사양을 반환한다는 것입니다 반복자.
또한 Collection 인터페이스는 순서를 보장하지 않으므로 n 번째 요소를 가져 오면 예기치 않은 결과가 발생할 수 있습니다.
+0
허용 된 답변이어야합니다! –
관련 문제
- 1. 두 번째 하위 요소를 얻는 방법은 무엇입니까?
- 2. 파이썬에서 튜플로부터 두 번째 요소를 얻는 방법은 무엇입니까?
- 3. 마지막 두 번째 요소를 선택하는 방법은 무엇입니까?
- 4. SerialElement에서 두 번째 요소를 재생하는 방법은 무엇입니까?
- 5. 목록에서 두 번째 요소를 삭제하는 방법은 무엇입니까?
- 6. 두 컬렉션의 모든 요소를 비교하고 세 번째 컬렉션을 만듭니다.
- 7. 스칼라 컬렉션의 첫 번째 요소를 업데이트하십시오.
- 8. 두 번째 컬렉션의 요소와 부분적으로 일치하는 요소를 1 개 컬렉션에서 찾는 방법은 무엇입니까?
- 9. 테이블의 두 번째 레지스터의 다섯 번째 필드를 얻는 방법은 무엇입니까?
- 10. 백본 컬렉션의 첫 번째 n 개 요소를 제거하십시오.
- 11. 태그가 무엇인지 모른 채 첫 번째 요소를 얻는 방법은 무엇입니까?
- 12. 문자열을 목록으로 분할하고 세 번째 요소를 얻는 방법은 무엇입니까?
- 13. Java의 enumset에서 첫 번째 요소를 얻는 방법은 무엇입니까?
- 14. smarty로 전달 된 배열의 첫 번째 요소를 얻는 방법은 무엇입니까?
- 15. REST 구조체. 컬렉션의 첫 번째/마지막 요소를 가져 옵니까?
- 16. 목록에서 각 튜플의 두 번째 구성 요소를 변경하는 방법은 무엇입니까?
- 17. 스키마 : 목록의 두 번째 수준에서만 요소를 삭제하는 방법은 무엇입니까?
- 18. 대문자없이 두 번째 배열에 요소를 복사하는 방법은 무엇입니까?
- 19. JavaScript로 두 번째 JSON 요소를 표시하는 방법은 무엇입니까?
- 20. 배열/모든 컬렉션의 첫 번째 요소 얻기
- 21. 두 개의 연결된 목록의 드문 요소를 얻는 방법은 무엇입니까?
- 22. 링크 된 목록에서 두 세트의 공통 요소를 얻는 방법은 무엇입니까?
- 23. 두 튜플의 마지막 요소 이외의 요소를 얻는 방법은 무엇입니까?
- 24. 효소를 사용하여 PhantomJS의 두 번째 요소를 얻는 방법?
- 25. 컬렉션의 첫 번째 일치
- 26. PHP를 사용하여 CSV 파일의 두 번째 열만 얻는 방법은 무엇입니까?
- 27. regex에서 반복적 인 단어의 두 번째 인스턴스를 얻는 방법은 무엇입니까?
- 28. 동일한 선택에서 두 번째 테이블의 관련 데이터를 얻는 방법은 무엇입니까?
- 29. 문자열에서 두 번째 마지막 단어를 얻는 방법은 무엇입니까?
- 30. 런타임 중에 mysqldatabase에서 두 번째 행을 얻는 방법은 무엇입니까?
iterator 인스턴스'recoBeacons.iterator()'를 어딘가에 저장하고 ** 해당 인스턴스에서'next()'를 다시 호출해야합니다. – QBrute