admin管理员组文章数量:1032443
Java 遍历ArrayList的N种方法
在本博主旧文Java ArrayList类遍历方法基础上添加数组ArrayList对象的“forEach”方法遍历它的用例
ArrayList集合
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。
在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,
ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。 下面我们看一下ArrayList源码,从它继承类、实现接口来了解一下它能够支持那些方式的遍历方法
通过对ArrayList继承类、实现接口深入分析,我们可以得到以下N种遍历方法
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
ArrayList arr= new ArrayList();
initList(arr);
testByFor( arr);
testByForeach( arr);
testByIterator( arr);
testByListIterator( arr);
testByForEach( arr);
}
代码语言:javascript代码运行次数:0运行复制/**
* 初始化数组 ArrayList
* @param arr
*/
private static void initList(ArrayList arr){
arr.add("Java");
arr.add("C#");
arr.add("Php");
arr.add("Ruby");
arr.add("Swift");
arr.add(null);
}
方式一:For循环
代码语言:javascript代码运行次数:0运行复制/**
* For循环来遍历数组 ArrayList
* @param arr
*/
private static void testByFor(ArrayList arr)
{
System.out.println("开始通过for指令来测试ArrayList对象");
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}
System.out.println("开始通过for指令来测试ArrayList对象");
}
方式二:增强for循环遍历ArrayList:Foreach
代码语言:javascript代码运行次数:0运行复制/**
* Foreach循环来遍历数组
* @param arr
*/
private static void testByForeach(ArrayList arr)
{
//foreach输出(jdk>=1.5)
System.out.println("开始通过Foreach指令来测试ArrayList对象");
for(Object o:arr) {
System.out.println(o);
}
System.out.println("结束通过Foreach指令来测试ArrayList对象");
}
方式三:Iterator:迭代器遍历ArrayList
代码语言:javascript代码运行次数:0运行复制/**
* 正向输出迭代器
* @param arr
*/
private static void testByIterator(ArrayList arr)
{
System.out.println("开始通过iterator指令来测试ArrayList对象");
Iterator<String> iterator = arr.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("结束通过iterator指令来测试ArrayList对象");
}
方式四:ListIterator:双向迭代器遍历
代码语言:javascript代码运行次数:0运行复制/**
* 双向迭代器
* @param arr
*/
private static void testByListIterator(ArrayList arr)
{
System.out.println("开始通过ListIterator指令来测试ArrayList对象");
ListIterator iterator=arr.listIterator();
//正向输出
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("结束正向输出ArrayList对象");
while(iterator.hasPrevious()) {
System.out.println(iterator.previous());
}
System.out.println("结束正向输出ArrayList对象");
System.out.println("结束通过iterator指令来测试ArrayList对象");
}
代码语言:javascript代码运行次数:0运行复制方式五:ArrayList对象的“forEach”方法遍历
/**
* 使用数组ArrayList对象的forEach方法
* @param arr
*/
private static void testByForEach(ArrayList arr)
{
//foreach输出(jdk>=1.8)
System.out.println("开始通过Foreach指令来测试ArrayList对象");
//Lambda表达式访问数组的例子
arr.forEach(x->System.out.println(x));
System.out.println("开始通过Foreach指令来测试ArrayList对象");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2021-08-04,如有侵权请联系 cloudcommunity@tencent 删除对象数组javaarraylist遍历Java 遍历ArrayList的N种方法
在本博主旧文Java ArrayList类遍历方法基础上添加数组ArrayList对象的“forEach”方法遍历它的用例
ArrayList集合
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。
在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,
ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。 下面我们看一下ArrayList源码,从它继承类、实现接口来了解一下它能够支持那些方式的遍历方法
通过对ArrayList继承类、实现接口深入分析,我们可以得到以下N种遍历方法
代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {
ArrayList arr= new ArrayList();
initList(arr);
testByFor( arr);
testByForeach( arr);
testByIterator( arr);
testByListIterator( arr);
testByForEach( arr);
}
代码语言:javascript代码运行次数:0运行复制/**
* 初始化数组 ArrayList
* @param arr
*/
private static void initList(ArrayList arr){
arr.add("Java");
arr.add("C#");
arr.add("Php");
arr.add("Ruby");
arr.add("Swift");
arr.add(null);
}
方式一:For循环
代码语言:javascript代码运行次数:0运行复制/**
* For循环来遍历数组 ArrayList
* @param arr
*/
private static void testByFor(ArrayList arr)
{
System.out.println("开始通过for指令来测试ArrayList对象");
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}
System.out.println("开始通过for指令来测试ArrayList对象");
}
方式二:增强for循环遍历ArrayList:Foreach
代码语言:javascript代码运行次数:0运行复制/**
* Foreach循环来遍历数组
* @param arr
*/
private static void testByForeach(ArrayList arr)
{
//foreach输出(jdk>=1.5)
System.out.println("开始通过Foreach指令来测试ArrayList对象");
for(Object o:arr) {
System.out.println(o);
}
System.out.println("结束通过Foreach指令来测试ArrayList对象");
}
方式三:Iterator:迭代器遍历ArrayList
代码语言:javascript代码运行次数:0运行复制/**
* 正向输出迭代器
* @param arr
*/
private static void testByIterator(ArrayList arr)
{
System.out.println("开始通过iterator指令来测试ArrayList对象");
Iterator<String> iterator = arr.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("结束通过iterator指令来测试ArrayList对象");
}
方式四:ListIterator:双向迭代器遍历
代码语言:javascript代码运行次数:0运行复制/**
* 双向迭代器
* @param arr
*/
private static void testByListIterator(ArrayList arr)
{
System.out.println("开始通过ListIterator指令来测试ArrayList对象");
ListIterator iterator=arr.listIterator();
//正向输出
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("结束正向输出ArrayList对象");
while(iterator.hasPrevious()) {
System.out.println(iterator.previous());
}
System.out.println("结束正向输出ArrayList对象");
System.out.println("结束通过iterator指令来测试ArrayList对象");
}
代码语言:javascript代码运行次数:0运行复制方式五:ArrayList对象的“forEach”方法遍历
/**
* 使用数组ArrayList对象的forEach方法
* @param arr
*/
private static void testByForEach(ArrayList arr)
{
//foreach输出(jdk>=1.8)
System.out.println("开始通过Foreach指令来测试ArrayList对象");
//Lambda表达式访问数组的例子
arr.forEach(x->System.out.println(x));
System.out.println("开始通过Foreach指令来测试ArrayList对象");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2021-08-04,如有侵权请联系 cloudcommunity@tencent 删除对象数组javaarraylist遍历本文标签: Java 遍历ArrayList的N种方法
版权声明:本文标题:Java 遍历ArrayList的N种方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747931511a2229588.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论