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;
}
}
總結
以上是生活随笔為你收集整理的java的迭代器类中有哪些类_java中的集合类 以及 迭代器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ad file type not rec
- 下一篇: 服务器选购seo优化规则,需要做SEO的