view plaincopy to clipboardprint?
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
}
}
}
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(); ) {
....
}
这种方式在循环
执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法, 不能使用list.remove方法, 否则一定出并发访问的错误.
第二种:
for(A a : list) {
.....
}
内部调用第一种, 换汤不换药, 这种循环方式还有其他限制, 不建议使用它
第三种:
for(int i=0; i<list.size(); i++) {
A a = list.get(i);
...
}
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Player26/archive/2009/03/04/3955906.aspx
分享到:
相关推荐
JAVA 编程题全集知识点总结 本资源提供了一个完整的 JAVA 编程题全集,涵盖了大量的题目和经典的解法,非常适合刷学完基础、刷题前的知识总结与开拓。以下是从资源中提取的重要知识点: 1. JAVA 基础知识:资源中...
通过以上内容的学习,学生将逐步建立起Java编程的知识框架,为后续更复杂的编程挑战做好准备。此外,课程还鼓励学生积极参与实践,通过实际编程项目来巩固所学,提高问题解决能力,最终形成具备职业竞争力的Java...
《高质量Java程序设计》是林锐的一本经典著作,它深入浅出地讲解了如何编写出高质量、可维护的Java程序。这本书对于Java开发者来说,是提升编程技能和理解Java精髓的重要参考资料。以下是对该书内容的一些关键知识点...
本资源“java程序设计例题全集”显然是一份涵盖了大学Java程序设计课程中各种实例的集合,旨在帮助学习者深入理解和掌握Java编程。 标题中的“java程序设计例题全集”意味着这份资料包含了大量关于Java编程的实践...
作为Java编程的入门示例,"Hello World"程序展示了最基本的程序结构。在实验中,学生被要求使用EditPlus和Eclipse分别编写并运行这个程序,输出"Hello World"。通过这个简单的例子,学生可以理解Java程序的基本框架...
[Wrox] Java 编程面试揭秘 英文版 [Wrox] Java Programming Interviews Exposed E Book ☆ 图书概要:☆ If you are a skilled Java programmer but are concerned about the Java coding interview process ...
该标签清晰地表明了该资源的主要内容是关于 JAVA 编程和程序设计的。该标签包括三个部分:java、开发、程序设计。 知识点: * JAVA 是一种编程语言,主要用于开发大型应用程序。 * JAVA 编程需要学习和掌握各种...
理解类的定义、对象的创建以及封装、继承和多态等概念是Java编程的基础。封装使数据和方法安全,继承则允许代码重用,多态则为程序提供了灵活性。 2. **类和对象**:类是创建对象的蓝图,包含了属性(数据成员)和...
Java程序设计精讲课件是一套全面讲解Java编程的教育资源,主要涵盖了泛型、集合类、Java输入输出以及反射等核心概念。这套课程旨在帮助初学者深入理解和熟练掌握Java编程技术,同时也适合有一定基础的开发者进行知识...
在计算机软件开发中,Java编程语言的应用是极为广泛与深远的。Java语言自问世以来就以其独特的特性和优势吸引了大量开发者的注意,这些特性包括但不限于其平台独立性、内存管理优化、面向对象的编程设计以及其强大的...
《Java程序设计》通过对Java编程语言的全面介绍,引导读者快速地掌握Java编程语言的核心内容并学会灵活运用所学的语言知识及面向对象的编程思想。《Java程序设计》共分12章,内容包括Java语言概述、面向对象编程初步...
《Java程序设计(第3版)》是唐大仕教授编著的一本深入浅出的Java编程教材,适合初学者和有一定经验的开发者学习。这本书的课件包含了丰富的教学资源,帮助读者更好地理解和掌握Java语言的核心概念和技术。下面将根据...
在Java编程中,我们首先需要了解基础语法,包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符以及控制流程(如条件语句if-else、循环for、while和do-while)。这些构成了程序的基本骨架。 接着,...
本资源汇集了多个 Java 程序设计题目,涵盖了 Java 基础知识、控制结构、函数设计、面向对象编程等多方面的知识点。 1. Java 程序设计总复习题 1:编写一个 Java 程序在屏幕上输出“你好!”。本题目考察了 Java ...
课后答案可以帮助你验证对这些概念的理解,找出不足之处,加深对Java编程的掌握。同时,分享和讨论这些答案也能促进团队学习,共同进步。在实践中不断应用和反思,将理论知识转化为实际编程能力,是成为一名优秀的...
Java编程入门是计算机编程语言Java的基础学习指南,它向初学者介绍了Java编程语言的核心概念和基础知识。这份资料特别强调了Java编程在手机游戏开发中的应用,但其内容并不局限于此,而是包含了更广泛的Java基础知识...
Java编程是目前世界上最流行的编程语言之一,广泛应用于企业级应用开发、移动应用、Web应用等各个领域。Java语言之所以能够得到如此广泛的应用,主要得益于其众多独特的优势和特点。 首先,Java语言是一种面向对象...
Java编程的逻辑是软件开发领域中的重要组成部分,尤其对于初学者和有经验的开发者来说,深入理解Java语言的原理和逻辑至关重要。Java以其跨平台、面向对象和强大的库支持等特性,成为全球范围内广泛使用的编程语言之...
本资源摘要信息涵盖了 Java 编程的基础语法、线程练习和经典编程程序,涵盖了字符串拼接、类的创建、线程练习、经典编程程序等多方面的知识点。 基础语法 1. Java 程序设计总复习题 1: 编写一个 Java 程序在屏幕上...