사용자 지정 LinkedList 제네릭 클래스를 만드는 프로그램에서 작업 중이며 개체에서 stream()을 호출하여 스트림을 생성 할 수 있기를 원합니다. 나는 문서를보고, 구현할 인터페이스 (비슷하게 ... iterable, comparator, comparable)와 같이 내가 이것을하는데 도움이 될만한 것을 찾지 못했다. 나는 스트림리스트를 생성하려고 생각했다. 스트림 메소드는 Arrays.stream을 가진 스트림을 돌려 주었다. 연결된리스트를 반복하고 요소를 할당함으로써 생성 된 배열로부터. 이게 괜찮습니까? 또한이 일반 클래스는 상속 관계가없는 두 클래스에 제약 된 매개 변수를 갖기를 원합니다. 종류가 같음 < Person 또는 Alien> 수행 할 수 있음사용자 지정 데이터 구조 클래스에서 스트림 반환
4
A
답변
0
사용자 정의 LinkedList 클래스에 iterator() 메소드가 있다고 가정합니다. 또한 일정 시간 size() 메서드가 있다고 가정합니다. 이 가정을하면 다음 코드를 사용하여 stream() 메소드를 구현할 수 있습니다 :
public Stream<T> stream() {
Iterator<T> it = iterator();
int characteristics = 0; // see characteristics docs in [Spliterator][1]
Spliterator<T> spliterator = Spliterators.spliterator(it, size(), charactistics); // see [Spliterators][2]
return StreamSupport.stream(spliterator, false); // see [StreamSupport][3]
}
관련 문제
- 1. 사용자 지정 Python 데이터 구조
- 2. 사용자 지정 스트림 조작자
- 3. DataBinding DataGrid를 사용자 지정 데이터 구조
- 4. directx 버퍼의 사용자 지정 데이터 구조
- 5. 사용자 지정 데이터 구조 필터링을위한 디자인 패턴
- 6. STL 대기열과 사용자 지정 데이터 구조 사용
- 7. 지도 데이터 구조 반환
- 8. 끈적한 사용자 지정 스트림 조작자
- 9. 사용자 지정 스트림 래퍼에 대한 스트림 컨텍스트
- 10. 활동 스트림 오브젝트 구조
- 11. Powerbuilder 9.0의 팝업 창에서 사용자 지정 구조 반환
- 12. IBOutlet 텍스트를 사용자 지정 클래스에서 반환 된 개체의 속성으로 변경하십시오.
- 13. 사용자 지정 예외 반환
- 14. 사용자 역할 데이터 구조
- 15. 사용자 지정 계층 구조 출력
- 16. 사용자 지정 스트림 클래스에 대한 조작자 작성
- 17. 사용자 지정 라우팅 클래스에서 사용자 세션에 액세스
- 18. 사용자 지정 클래스에서 NSArray를 검색하는 방법
- 19. NTFS 스트림 구조
- 20. WPF의 DataGrid ItemsSource에 사용자 지정 데이터 구조 바인딩
- 21. CSV 파일과 사용자 지정 데이터 구조 간의 관계 시각화
- 22. 사용자 지정 UITableView 클래스에서 사용자 지정 UITableViewDataSource를 사용할 수 없습니다.
- 23. 동일한 클래스에서 ADO.NET 데이터 서비스와 사용자 지정 ServiceContract를 결합 하시겠습니까?
- 24. WCF 데이터 서비스 및 동적 데이터 구조
- 25. 사용자 지정 ConfigSection 반환 null
- 26. 사용자 지정 반환 형식 선언
- 27. 사용자 지정 http 반환 코드
- 28. C++에서 메서드에 대한 사용자 지정 스트림?
- 29. std :: function을 사용자 지정 스트림 조작자로 사용
- 30. 목표 C - 사용자 지정 반환 형식 오류?
스트림 함수의 정의는 '호환성'이유로 기본 메소드 인'Collection' 인터페이스에 정의되어 있으며, Spliterator' 컬렉션. spliterator에 대해서는 https://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html – mszymborski
에서 읽을 수 있습니다. Spliterator 구현을 위해 'Spliterators.AbstractSpliterator'를 확장하는 것이 가장 쉽습니다. –
자신의'LinkedList' 구현물이 내장 된'java.util.LinkedList'가하는 것과 유사한 스트림을 생성하기를 원한다면'java.util.LinkedList'의 소스 코드를 보시면됩니다. , 그것을하는 방법을보기 위해. – Andreas