rookie麻烦高手帮看看 容器中的toArray用法 返回的是hashcode是不是要重写
import java.util.*;
public class Test1{
public static void main(String[] args){
Name n1 = new Name("f1","l1");
Name n2 = new Name("f2","l2");
Collection c1 = new ArrayList();
c1.add(n1);
c1.add(n2);
c1.add("hello");
c1.add("world"); 
c1.add(new Integer(100));
int a = c1.size();
System.out.println(a);
System.out.println(c1.contains(n1));

System.out.println(c1);          Object[] x=c1.toArray(new Object[0]);
 for(int i=0;i<x.length;i++){
System.out.println(c1.toArray());
 }

Iterator y = c1.iterator();
while(y.hasNext()){
  //Name n = (Name)y.next();
  System.out.print(y.next()+" ");
}

}
}
class Name{
  String firstname,lastname;
  Name(String f1,String f2){
  this.firstname = f1;
  this.lastname = f2;
}
  public String getFirstname(){
  return firstname;
}
public String getLastname(){
  return lastname;
}
public String toString(){
  return firstname+" "+lastname;
}
public boolean equals(Object o){
  if(o instanceof Name){
Name name = (Name)o;
return (firstname.equals(name.firstname))
   &&(lastname.equals(name.lastname));
 }
return super.equals(o);
}
 public int hashCode(){
   return firstname.hashCode();
 }
}

解决方案 »

  1.   


    Object[] x = c1.toArray(new Object[0]);
    // for (int i = 0; i < x.length; i++) {
    // System.out.println(c1.toArray());
    // }
    System.out.println(c1.toArray());
    System.out.print((Name) x[0]);
    System.out.print((Name) x[1]);
    System.out.print((String) x[2]);
    System.out.print((String) x[3]);
    System.out.println((Integer) x[4]); Iterator y = c1.iterator();
    while (y.hasNext()) {
    // Name n = (Name)y.next();
    System.out.print(y.next() + " ");
    }
    你是否是想要Collection 中的toarray也方法输出 像 while (y.hasNext()) {
    // Name n = (Name)y.next();
    System.out.print(y.next() + " ");
    }
    执行得结果 貌似 你得重写toarray方法 这个貌似不好弄
      

  2.   

    import java.util.*;public class Test1 {
    public static void main(String[] args) {
    Name n1 = new Name("f1", "l1");
    Name n2 = new Name("f2", "l2");
    Collection c1 = new ArrayList();
    c1.add(n1);
    c1.add(n2);
    c1.add("hello");
    c1.add("world");
    c1.add(new Integer(100));
    int a = c1.size();
    System.out.println(a);
    System.out.println(c1.contains(n1)); System.out.println(c1); Object[] x = c1.toArray(new Object[0]);
    for (int i = 0; i < x.length; i++) {
    System.out.println(x[i]);//这里打x里的组员就可以了啊,要不你弄个x有什么用啊
    }
    Iterator y = c1.iterator();
    while (y.hasNext()) {
    // Name n = (Name)y.next();
    System.out.print(y.next() + " ");
    } }
    }class Name {
    String firstname, lastname; Name(String f1, String f2) {
    this.firstname = f1;
    this.lastname = f2;
    } public String getFirstname() {
    return firstname;
    } public String getLastname() {
    return lastname;
    } public String toString() {
    return firstname + " " + lastname;
    } public boolean equals(Object o) {
    if (o instanceof Name) {
    Name name = (Name) o;
    return (firstname.equals(name.firstname))
    && (lastname.equals(name.lastname));
    }
    return super.equals(o);
    } public int hashCode() {
    return firstname.hashCode();
    }
    }