【转】Java中 List的遍历
原文网址:http://blog.csdn.net/player26/article/details/3955906
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- public class ListTest {
- public static void main(String[] args) {
- List<Integer> list = new ArrayList<Integer>();
- list.add(1);
- list.add(2);
- list.add(3);
- for (Iterator i = list.iterator(); i.hasNext();)
- System.out.println(i.next()); // line 1
- }
- }
- public class ListTest2 {
- public static void main(String[] args){
- List list = new ArrayList();
- list.add(new Integer(100));
- list.add(new Float(150.60));
- list.add(new String("abc"));
- for(Iterator i = list.iterator(); i.hasNext();)
- System.out.println(i.next());
- // List<Integer> list = new ArrayList<Integer>();
- // list.add(1);
- // list.add(2);
- // list.add(3);
- // for(Integer i : list){
- // System.out.println(i); // OK
- // }
- }
- }
- //虽然List的Generic是Integer,但.next()返回的类型是Object
- public class ListTest3 {
- public static void main(String[] args) {
- // List<Integer> list = new ArrayList<Integer>();
- // list.add(1);
- // list.add(2);
- // list.add(3);
- // for(Iterator i = list.iterator(); i.hasNext();){
- // Integer integerRef = (Integer) i.next(); //line 1
- // //Compile Error
- // System.out.println(integerRef); // line 2
- // }
- List<Integer> list = new ArrayList<Integer>();
- list.add(1);
- list.add(2);
- list.add(3);
- for (Iterator<Integer> i = list.iterator(); i.hasNext();) {
- Integer integerRef = i.next(); // line 1
- // OK
- System.out.println(integerRef); // line 2
- }
- }
- }
对List的遍历有三种方式
List<A> list = new ArrayList<A>();
list.add(new A());
list.add(new A());
...
第一种:
for(Iterator<A> it = list.iterator(); it.hasNext(); ) {
....
}
这种方式在循环
第二种:
for(A a : list) {
.....
}
内部调用第一种, 换汤不换药, 这种循环方式还有其他限制, 不建议使用它
第三种:
for(int i=0; i<list.size(); i++) {
A a = list.get(i);
...
}
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题!
【转】Java中 List的遍历的更多相关文章
- Java 中数组的遍历方式
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 今天我们就来说一下在java中遍历数组都有哪几 ...
- Java中四种遍历Map对象的方法
方法一:在for-each循环中使用entry来遍历,通过Map.entrySet遍历key和value,这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Int ...
- Java中四种遍历List的方法
package com.ietree.basic.collection.loop; import java.util.ArrayList; import java.util.Iterator; imp ...
- Java中ArrayList循环遍历并删除元素的陷阱
ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...
- Java中五种遍历HashMap的方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Java8Templat ...
- Java中map接口 遍历map
转自:https://www.cnblogs.com/wjk921/p/4918442.html java集合框架用于存储数据,也被称为集合类 位于java.util包下 java.util包下常用接 ...
- Java中的不同遍历方式
已知一个Person类: public class Person implements Comparable<Person>{ String name; String id; public ...
- java中对HashMap遍历的方式
第一种是利用HashMap的entrySet()方法: Map<String,String> map = new HashMap<String,String>(); Itera ...
- Java中ArrayList边遍历边修改
用for-each 边遍历ArrayList 边修改时: public static void main(String[] args) { ArrayList<String> list = ...
随机推荐
- ganglia单播配置
背景: 有时,由于当前网络不支持组播等种种原因,使用gmond默认的配置gmetad不能获取到各个客户端的全部数据,http://x.x.x.x/ganglia页面一个cluster组只能展示一 ...
- Android Toast 自定义
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Android dp和px之间转换 及 获取坐标
dp.px.sp转换 public class DensityUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scal ...
- Lecture Halls
Lecture Halls (会议安排) 时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte 总提交: 38 测试通过: 2 ...
- Arduino 数码管LED屏驱动
今天測试数码管LED屏驱动,用某产品的一个共阴极的LED屏,依据电路图做数码管LED屏的检測. 代码写得有些冗长,有好几种驱动的方法,这里仅仅是当中一种最直接的方案,抽出时间要做个更有效率的调用和驱动 ...
- Linux设备驱动中断机制
[主要内容] Linux设备驱动编程中的中断与定时器处理 [正文] 一.基础知识 1.中断 所谓中断是指CPU在执行程序的过程中,出现了某些突发事件急待处理,CPU必须暂停执行当前的程序,转去处理突发 ...
- 9、第九节课jquery选择器jq2,20151007
1.表单选择器 2.not 里面不能加其他标签 $div p:not(not:disable) 错误的 $div p:not(:disable) 正确的 3.选择设置相应属性的标签项 $(&quo ...
- 在SPItemEventReceiver中使用BeforeProperties和AfterProperties
当你利用这些事件时,就很快会发现存在前(同步)后(异步)两种事件.其方法的后缀分别为“ing”(比如,ItemAdding)和“ed”(比如,ItemAdded),分别代表了变更发生前调用和发生后调用 ...
- 关于Aspose对于Word操作的一些扩展及思考
Aspose.word Aspose.Words是一款先进的类库,通过它可以直接在各个应用程序中执行各种文档处理任务.Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocu ...
- windows下安装mysql笔记
接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...