java迭代器
来源:互联网 发布:京华科讯 知乎 编辑:程序博客网 时间:2023/11/29 03:31
java迭代器
package com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
public class Foreach
{
private Collection c = null;
private String[] belle = new String[4];
public Foreach()
{
belle[0] = "西施";
belle[1] = "王昭君";
belle[2] = "貂禅";
belle[3] = "杨贵妃";
c = Arrays.asList(belle);
}
public void testCollection()
{
for (String b : c)
{
System.out.println("曾经的风化绝代:" + b);
}
}
public void testArray()
{
for (String b : belle)
{
System.out.println("曾经的青史留名:" + b);
}
}
public static void main(String[] args)
{
Foreach each = new Foreach();
each.testCollection();
each.testArray();
}
}
对于集合类型和数组类型的,我们都可以通过foreach语法来访问它。上面的例子中,以前我们要依次访问数组,挺麻烦:
for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("曾经的风化绝代:" + b);
}
现在只需下面简单的语句即可:
for (String b : belle)
{
System.out.println("曾经的青史留名:" + b);
}
对集合的访问效果更明显。以前我们访问集合的代码:
for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println("曾经的风化绝代:" + name);
}
现在我们只需下面的语句:
for (String b : c)
{
System.out.println("曾经的风化绝代:" + b);
}
Foreach也不是万能的,它也有以下的缺点:
在以前的代码中,我们可以通过Iterator执行remove操作。
for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}
但是,在现在的foreach版中,我们无法删除集合包含的对象。你也不能替换对象。
同时,你也不能并行的foreach多个集合。所以,在我们编写代码时,还得看情况而使用它。
【WIN_ANGEL】:
public class Check{
public static boolean check(Object...objects){
boolean result=false;
for(Object obj:objects){
if((((String)obj).trim().equals(""))
return result=true;
}
return result;
}
}
上面的程序是检查输入的n个参数是否是由空格组成
调用的时候可以输入多个参数
如:
boolean pd1=Check.check("string1");
boolean pd2=Check.check("string1","string2");
boolean pd3=Check.check("string1","string2","string3");
都可以
Object...objects中第一个Object表示行参类型 第2个是行参名 中间三个点是固定写法 大概是表示多个的意思吧 我猜的 HOHO~ ^_^
【yiyi2007】:
那原来的
int aa[]=new int[10];
for (int i = 0; i < aa.length; i++)
{
aa[i]=i;
}
这样一个数组赋值,用foreach来写,要怎么写呢??
【viena】:
int aa[]=new int[10];
for (int a : aa)
{
a=i;
}
【WIN_ANGEL】:
foreach 没法访问定位,也就没办法修改,删除 集合中的内容
【yiyi2007】:
viena(维也纳N02)
int aa[]=new int[10];
for (int a : aa)
{
a=i;
}
----------------------------------------------
i是未定义的,程序不能编译过
java中List的通俗介绍和简单实例
List 经常用在对一组对象的存储和操作上,比如一组学生信息,一组帐号信息等等。
List是个集合接口,只要是集合类接口都会有个“迭代子”( Iterator ),利用这个迭代子,就可以对list内存的一组对象进行操作。
所有要想操作这个list内存的东西,就首先要得到此迭代子的实例:Iterator it=l.iterator();
可以理解为动态数组,传统数组必须定义好数组的个数才可以使用,而容器对象无须定义好数组下标总数。
用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据类型,容器还对应get(),remove()方法来获取和删除数据成员
实例1.
import java.util.*;
public class ArrayListTest{
public static void main(String dd[]){
//new了一个存储list
List l=new ArrayList();
//因为Collection framework只能存储对象所以new封装类
l.add(new Integer(1));
l.add(new Integer(2));
l.add(new Integer(3));
l.add(new Integer(4));
Iterator it=l.iterator();
//hasNext是取值取的是当前值.他的运算过程是判断下个是否有值如果有继续.
while(it.hasNext()){
//设it.next封装类,调用Integer的intValue方法返回值为int赋给i;
int i=((Integer)it.next()).intValue();
System.out.println("Element in list is : "+i);
}
}
}
实例2.
import java.util.*;
public class ArrayListTest1{
public static void main(String dd[]){
//new了一个存储list
List l=new ArrayList();
//因为Collection framework只能存储对象这个例子就是说明String是对象
l.add("lalala");
l.add("afdsfa");
Iterator it=l.iterator();
//hasNext是取值取的是当前值.他的运算过程是判断下个是否有值如果有继续.
while(it.hasNext()){
//设it.next封装类,调用强制转换String类型赋值给i;
String i=(String)it.next();
System.out.println("Element in list is : "+i);
}
}
}
- java迭代器
- Java迭代器
- JAVA 迭代器
- java迭代器
- java迭代器
- java 迭代器
- Java迭代器
- JAVA迭代器
- Java 迭代器
- java 迭代器
- java 迭代器
- java迭代器
- java迭代器
- Java迭代器
- Java 迭代器
- Java迭代器
- Java迭代器
- java迭代器
- Floyd算法
- JQuery 是什么
- VS2005新特性列表
- 数据库连接池
- 系统引导管理器GRUB,为初学者指南
- java迭代器
- javascript获取select的值全解
- C# 路由器互动操作
- asp.net 生成缩略图
- java常见错误以及可能原因
- windows编程中的单字符和宽字符使用 总结
- 如何启动tomcat的调试信息
- xml之Java技术
- C# httpcookie asp.net中cookie的使用