JAVA中Iterator转List三种方法
- 使用com.google.common.collect.Lists(推荐)
- 使用org.apache.commons.collections.IteratorUtils(垃圾)
- 遍历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三种方法相关推荐
- Java中 遍历 ArrayList的三种方法
import java.util.*;public class test {public static void main(String[] args) {List<String> lis ...
- JAVA中创建线程的三种方法及比较
JAVA中创建线程的方式有三种,各有优缺点,具体如下: 目录 一.继承Thread类来创建线程 二.实现Runnable接口来创建线程 三.通过Callable和Future来创建线程 四.三种方式创 ...
- Java中遍历数组的三种方法
方法一:for循环(最常用) 方法二:利用 foreach 方法三:利用jdk自带方法:java.util.Arrays.toString //String类型的i数组 public class St ...
- Java中遍历字符串的三种方法
(1).length(), charAt() (2).length(), substring(i ,i+1) (3).toCharArray() String str="2019 come ...
- java 终止方法_Java中终止线程的三种方法
Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...
- Java中List集合的三种遍历方式(全网最详)
Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- 高级 | Java中获取类名的3种方法
转载自 高级 | Java中获取类名的3种方法 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonical ...
- android全局计时_Android中使用定时器的三种方法
本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第 ...
最新文章
- C++多线程之间,线程函数启动之后,多线程依赖的启动和线程唤醒操作。
- 自旋电子学与量子计算机,基于“分子自旋电子学”的新技术,将给量子计算机带来新希望!...
- Python 中的hash
- dyaddown matlab,matlab 采样函数
- D. Anton and Chess 模拟题 + 读题
- gradle跟pom_Gradle多项目构建–父pom式结构
- 在SQL Server2005中进行错误捕捉
- 关于header(Cache-control: private)
- 有味道的耳机!男子误食AirPods 排出后仍可正常使用
- java中List分片方法
- tensorflow测量工具的使用
- 颠覆游戏开发,引领行业革命,从 Unite 2019 看 Unity 技术亮点
- Navicat怎样导入Excel表格数据
- apache .htaccess 转化nginx工具
- psftp上传文件到服务器,使用PsFtp将文件上传到FTP Powershell
- 卡方检验的统计量推导_卡方检验的卡方检验法的基本原理和步骤
- php mcrypt blowfish,php加密算法blowfish
- Android运营商名字显示规则
- 新电脑将软件安装到D盘的操作说明
- SVN使用教程(详细)
热门文章
- fabric-ca-client 详解动态添加组织
- 情侣生日纪念日倒数提醒的便签
- python爬虫案例:抓取网易新闻
- HTML 转 PDf 方法一 wkhtmltopdf.exe
- Linux下使用crontab来执行定时任务计划----执行每晚12点多执行移动log日志文件操作
- [论文阅读]Road Mapping and Localization using Sparse Semantic Visual Features
- 【FOMO3d】 的隐藏彩(lou)蛋(dong)
- 让我摘下星星送给你_摘下星星送给你摘下月亮送给你是哪首歌的歌词
- ZOJ 3199 Longest Repeated Substring
- 在华为云服务器安装libreoffice软件