Iterator如何转换为list呢?
下文笔者讲述Iterator转换为list的方法分享,如下所示
Iterator转换为list的方法
方式1: 使用while循环 方式2: 使用ForEachRemaining 方式3: 使用stream例
使用while
@Test
public void useWhile(){
List<String> stringList= new ArrayList<>();
Iterator<String> stringIterator= Arrays.asList("a","b","c").iterator();
while(stringIterator.hasNext()){
stringList.add(stringIterator.next());
}
log.info("{}",stringList);
}
使用ForEachRemaining
Iterator接口有个default方法:
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
@Test
public void useForEachRemaining(){
List<String> stringList= new ArrayList<>();
Iterator<String> stringIterator= Arrays.asList("a","b","c").iterator();
stringIterator.forEachRemaining(stringList::add);
log.info("{}",stringList);
}
使用stream
List<String> stringList= StreamSupport.stream(stringIterable.spliterator(),false).collect(Collectors.toList()); log.info("{}",stringList);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


