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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。