java的迭代器类中有哪些类_java中的集合类 以及 迭代器

/*

java中的集合类   实现了 Connection接口

ArrayList这个集合类  java.util.*这个包的类

toArray()方法可以返回一个 Object类型的对象数组

我们部队 ArratList进行泛型规范那么就会警告 但是还是可以运行的

这是因为JDK1.5中引进了泛型,但是你的ArrayList却没有采用,所有会有安全问题,比如你可以把一个别的对象放入al里面去,但是取出来的时候可能就会出错了,所以为了安全,在JDK1.5中引进了泛型这个概念。

你可以改成如下样子就不会产生警告了

*/

import java.util.*;

class ArrayListTest

{

//通过迭代器遍历元素

public static  void printElements(Collection c)  //传递一个实现类Connection接口的对象

{

Iterator i= c.iterator();  //获得 C这个对象的迭代器

while(i.hasNext())  //如果迭代器的下一个元素存在那么遍历输出

{

System.out.println(i.next());  //返回下一个元素的迭代器

}

}

public static  void  main(String []args)

{

/*ArrayList a=new  ArrayList();  //泛型的概念IDK1.5以后

a.add("ds");

ad.add("dsv");

a.add("one");

a.add("two");

a.add("three");

a.add("four");

for(int n=0;n

System.out.println((String)a.get(n));   根据索引返回对象

System.out.println(a);  //因为这个集合类也是从Object类派生的所以 也有toString方法 也可以直接打印  */

///下面是对 toString方法的重写 toArray 方法返回一个对象数组

ArrayList arrs=new ArrayList();

Point  a1=new  Point(1,2);

Point  a2=new  Point(2,2);

Point  a3=new  Point(4,5);

Point  a4=new  Point(17,7);

arrs.add(a1);

arrs.add(a2);

arrs.add(a3);

arrs.add(a4);

System.out.println(arrs);

Object []objs=arrs.toArray();  //返回一个对象数组   Object

for(int n=0;n

System.out.println(objs[n]);   //输出我们的对象会自动 调用 tiString方法

//Arrays类的asList方法返回List对象 这个对象是一个固定长度的列表 也就是说 我们不能改变List的长度    但是我门可以修改列表的值

//List set方法可以修改指定索引的值

//我们还可以通过 迭代器进行访问  Iterator 接口    一共有三个方法   hasNext判断是是否有下一个元素     remove移走一个元素 但是在List中没有实现这个方法但是支持

//next返回下一个元素迭代器    迭代器的好处使我们可以遍历任意一种集合类对象 因为集合类实现了 Connection接口   List接口是从 Connection接口派生来的

List i=Arrays.asList(arrs);

System.out.println(i);

//下面调用我们的getElements方法通过迭代器返回集合类数据

printElements(arrs);  //传递一个集合类对象

}

}

class   Point

{

int  x,y;

Point(int x,int y)

{

this.x=x;

this.y=y;

}

public  String toString()

{

return "x="+x+",y="+y;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值