日期:2014-05-20  浏览次数:20671 次

大家看看我是这么便利数组的,可是不好使啊
为什么不能便利啊,我想用Iterator便利该怎么写呢
package   src;

import   java.util.Arrays;
import   java.util.Collection;
import   java.util.Iterator;

public   class   Test   {

/**
  *   @param   args
  */
static   void   print(Collection   e){
Iterator   it=e.iterator();
while(it.hasNext()){
Object   o=it.next();
System.out.println(o);
}
}
public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub
int[]   s=new   int[]{3,6,9,0,1,63,23};
Arrays.sort(s);
print(s);

}

}

------解决方案--------------------
数组不是Collection的子类,呵呵,所以你的print()方法实际上没有收到Collection的引用“e”,你要再传入之前先把数组装到容器里,比如List。

package src;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

public class Test {

/**
* @param args
*/
static void print(Collection e){
Iterator it=e.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] s=new int[]{3,6,9,0,1,63,23};
Arrays.sort(s);

List list = new ArrayList();
for(int i = 0;i <s.length;i++){
list.add(s[i]);
}
Test.print(list);
}
}

这个例子的效率不高,你可以再改一改