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();
}
}
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();
}
}
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方法 这个貌似不好弄
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();
}
}