1. 使用com.google.common.collect.Lists(推荐)
  2. 使用org.apache.commons.collections.IteratorUtils(垃圾)
  3. 遍历iterator并add进list(不够优雅)

使用com.google.common.collect.Lists

用法:

import com.google.common.collect.Lists;
Iterator<Element> myIterator = elementDao.findAll();
List<Element> myList = Lists.newArrayList(myIterator);

源码:
可以看到这里用了泛型,使得输出类型确定

  public static <E> ArrayList<E> newArrayList(Iterator<? extends E> elements) {ArrayList<E> list = newArrayList();Iterators.addAll(list, elements);return list;}

使用org.apache.commons.collections.IteratorUtils

用法:

import org.apache.commons.collections.IteratorUtils;
Iterator<Element> myIterator = elementDao.findAll();
List myList=IteratorUtils.toList(myIterator);

源码:
可以看到这里返回的是List类型,用时需要先判断类型,再强制转换

public static List toList(Iterator iterator) {return toList(iterator, 10);}

遍历iterator并add进list

用法:
遍历的方法很多,可以用while等等

Iterator<Element> myIterator = elementDao.findAll();
List<Element> actualList = new ArrayList<Element>();
while (iterator.hasNext()) {actualList.add(iterator.next());
}

本文参考:
JAVA Iterator 转成 List
Iterator转List的几种方法

JAVA中Iterator转List三种方法相关推荐

  1. Java中 遍历 ArrayList的三种方法

    import java.util.*;public class test {public static void main(String[] args) {List<String> lis ...

  2. JAVA中创建线程的三种方法及比较

    JAVA中创建线程的方式有三种,各有优缺点,具体如下: 目录 一.继承Thread类来创建线程 二.实现Runnable接口来创建线程 三.通过Callable和Future来创建线程 四.三种方式创 ...

  3. Java中遍历数组的三种方法

    方法一:for循环(最常用) 方法二:利用 foreach 方法三:利用jdk自带方法:java.util.Arrays.toString //String类型的i数组 public class St ...

  4. Java中遍历字符串的三种方法

    (1).length(), charAt() (2).length(), substring(i ,i+1) (3).toCharArray() String str="2019 come ...

  5. java 终止方法_Java中终止线程的三种方法

    Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...

  6. Java中List集合的三种遍历方式(全网最详)

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  7. Java中创建数组的几种方法

    Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...

  8. 高级 | Java中获取类名的3种方法

    转载自 高级 | Java中获取类名的3种方法 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonical ...

  9. android全局计时_Android中使用定时器的三种方法

    本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第 ...

最新文章

  1. C++多线程之间,线程函数启动之后,多线程依赖的启动和线程唤醒操作。
  2. 自旋电子学与量子计算机,基于“分子自旋电子学”的新技术,将给量子计算机带来新希望!...
  3. Python 中的hash
  4. dyaddown matlab,matlab 采样函数
  5. D. Anton and Chess 模拟题 + 读题
  6. gradle跟pom_Gradle多项目构建–父pom式结构
  7. 在SQL Server2005中进行错误捕捉
  8. 关于header(Cache-control: private)
  9. 有味道的耳机!男子误食AirPods 排出后仍可正常使用
  10. java中List分片方法
  11. tensorflow测量工具的使用
  12. 颠覆游戏开发,引领行业革命,从 Unite 2019 看 Unity 技术亮点
  13. Navicat怎样导入Excel表格数据
  14. apache .htaccess 转化nginx工具
  15. psftp上传文件到服务器,使用PsFtp将文件上传到FTP Powershell
  16. 卡方检验的统计量推导_卡方检验的卡方检验法的基本原理和步骤
  17. php mcrypt blowfish,php加密算法blowfish
  18. Android运营商名字显示规则
  19. 新电脑将软件安装到D盘的操作说明
  20. SVN使用教程(详细)

热门文章

  1. fabric-ca-client 详解动态添加组织
  2. 情侣生日纪念日倒数提醒的便签
  3. python爬虫案例:抓取网易新闻
  4. HTML 转 PDf 方法一 wkhtmltopdf.exe
  5. Linux下使用crontab来执行定时任务计划----执行每晚12点多执行移动log日志文件操作
  6. [论文阅读]Road Mapping and Localization using Sparse Semantic Visual Features
  7. 【FOMO3d】 的隐藏彩(lou)蛋(dong)
  8. 让我摘下星星送给你_摘下星星送给你摘下月亮送给你是哪首歌的歌词
  9. ZOJ 3199 Longest Repeated Substring
  10. 在华为云服务器安装libreoffice软件