을 반환하는 인터페이스가 java.lang.Iterable<T>있습니다. Java 8 Stream API를 사용하여 그 결과를 조작하고 싶습니다. 그러나 Iterable은 "스트리밍"할 수 없습니다. Iterable을 List로 변환하지 않고 Stream으로 사용하는 방법에 대한 아이디어가 있습니까?
Java 8에는 Stream <T> 클래스가 있는데 , 여기에는 흥미롭게 메소드가 있습니다 Iterator<T> iterator() 따라서 Iterable <T> 인터페이스를 구현할 것으로 예상 할 수 있는데,이 메소드는 정확히이 메소드를 필요로하지만 그렇지 않습니다. foreach 루프를 사용하여 Stream을 반복하려면 다음과 같은 작업을 수행해야합니다 public static Iterable<T> getIterable(Stream<T> s) { return new Iterable<T> { @Override public …
Iterable인터페이스가 왜 stream()and parallelStream()메소드를 제공하지 않는지 궁금 합니다. 다음 클래스를 고려하십시오. public class Hand implements Iterable<Card> { private final List<Card> list = new ArrayList<>(); private final int capacity; //... @Override public Iterator<Card> iterator() { return list.iterator(); } } 트레이딩 카드 게임을하는 동안 카드를 손 에 넣을 수 있으므로 핸드 를 …
왜 Iterator인터페이스가 확장되지 Iterable않습니까? 이 iterator()메소드는 단순히을 리턴 할 수 this있습니다. Java 디자이너의 의도적이거나 단순한 감독입니까? 다음과 같이 반복자와 함께 for-each 루프를 사용하는 것이 편리합니다. for(Object o : someContainer.listSomeObjects()) { .... } 여기서 listSomeObjects()반복자를 반환합니다.
예를 들어 int, int [] foo와 같은 프리미티브 배열이 있습니다. 작은 크기 일 수도 있고 아닐 수도 있습니다. int foo[] = {1,2,3,4,5,6,7,8,9,0}; Iterable<Integer>그것을 만드는 가장 좋은 방법은 무엇입니까 ? Iterable<Integer> fooBar = convert(foo); 노트: 루프를 사용하여 대답하지 마십시오 (컴파일러가 어떻게 똑똑한지를 설명 할 수 없다면?) 또한 int a[] = {1,2,3}; …
길이가 유한하다는 것을 미리 알고있는 배열과 같은 Javascript ES6 Iterable이 있다고 가정합니다.이를 Javascript 배열로 변환하는 가장 좋은 방법은 무엇입니까? 그렇게하는 이유는 underscore 및 lodash와 같은 많은 js 라이브러리가 배열 만 지원하기 때문입니다. 따라서 Iterable에서 해당 함수를 사용하려면 먼저 배열로 변환해야합니다. 파이썬에서는 list () 함수를 사용할 수 있습니다. ES6에 상응하는 것이 …
IterableJava 의 요소 수를 알아야합니다 . 나는 이것을 할 수 있다는 것을 안다. Iterable values = ... it = values.iterator(); while (it.hasNext()) { it.next(); sum++; } Iterable의 객체가 더 이상 필요하지 않기 때문에 이와 같은 작업을 수행 할 수도 있습니다. it = values.iterator(); while (it.hasNext()) { it.remove(); sum++; } 소규모 …
이 두 인터페이스 모두 하나의 메서드 만 정의합니다. public operator fun iterator(): Iterator<T> 문서에 따르면 Sequence게으르다는 의미입니다. 그러나 Iterable게으르지 Collection않습니까 (으로 뒷받침되지 않는 한 )?
for of 루프에서 객체를 사용할 수없는 이유는 무엇입니까? 아니면 브라우저 버그입니까? 이 코드는 Chrome 42에서 작동하지 않으며 undefined는 함수가 아닙니다. test = { first: "one"} for(var item of test) { console.log(item) }