我是靠谱客的博主 仁爱水杯,这篇文章主要介绍Iterator转List的几种方法,现在分享给大家,希望可以做个参考。

demo

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* 1.创建一个List,将Iterator中的数据添加到List中 */ CopyOnWriteArrayList<Integer> numbers = new CopyOnWriteArrayList<>(new Integer[]{1, 3, 5, 8}); Iterator<Integer> iterator = numbers.iterator(); List<Integer> actualList = new ArrayList<Integer>(); while (iterator.hasNext()) { actualList.add(iterator.next()); } actualList.forEach(System.out::println);
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 2.使用Java 8的foeEachRemaining方法可以将Iterator中的每个集合添加到List中 */ CopyOnWriteArrayList<Integer> numbers = new CopyOnWriteArrayList<>(new Integer[]{1, 3, 5, 8}); Iterator<Integer> iterator = numbers.iterator(); List<Integer> actualList = new ArrayList<Integer>(); iterator.forEachRemaining(actualList::add); actualList.forEach(System.out::println);
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* 3.使用Java 8 Streams API 首先将iterator转换为Iterable,在使用Stream的collect转换为List */ CopyOnWriteArrayList<Integer> numbers = new CopyOnWriteArrayList<>(new Integer[]{1, 3, 5, 8}); Iterator<Integer> iterator = numbers.iterator(); Iterable<Integer> iterable = () -> iterator; List<Integer> actualList = StreamSupport .stream(iterable.spliterator(), false) .collect(Collectors.toList()); actualList.forEach(System.out::println);
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* 3.使用 Apache Commons Collections库提供的工具类可以将Iterator转换为List */ CopyOnWriteArrayList<Integer> numbers = new CopyOnWriteArrayList<>(new Integer[]{1, 3, 5, 8}); Iterator<Integer> iterator = numbers.iterator(); List<Integer> actualList = IteratorUtils.toList(iterator); actualList.forEach(System.out::println);

最后

以上就是仁爱水杯最近收集整理的关于Iterator转List的几种方法的全部内容,更多相关Iterator转List内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部