黑马程序员技术交流社区
标题:
对象存储到集合中打印的问题
[打印本页]
作者:
蒋昌宏
时间:
2012-3-11 23:58
标题:
对象存储到集合中打印的问题
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/**
* 1、 定义一个Person对象,构造方法中定义私有属性name&age
* 2、 创建多个Person对象
* 3、 将多个Person对象存储到集合中,由于只做查询操作,因此采用ArrayList容器。
* 4、 使用ListIterator从ArrayList中将中的元素取出并打印。
* @author JiangChangHong
*
*/
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
public void show(){
System.out.println("name="+name+"\t"+"age="+age);
}
}
public class PersonDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person("Aaron",18);
Person p2 = new Person("Abbott",19);
Person p3 = new Person("Abel",20);
Person p4 = new Person("Abner",21);
Person p5 = new Person("Abraham",22);
Person p6 = new Person("Adair",23);
Person p7 = new Person("Adam",24);
Person p8 = new Person("Addison",25);
Person p9 = new Person("Adolph",26);
List co = new ArrayList();
co.add(p1);
co.add(p2);
co.add(p3);
co.add(p4);
co.add(p5);
co.add(p6);
co.add(p7);
co.add(p8);
co.add(p9);
//取出所有元素。迭代器.
for(ListIterator it = co.listIterator(); it.hasNext(); ){
System.out.println("next:"+it.next());
}
//list集合特有的取出方式,通过角标遍历。
for(int x=0; x<co.size(); x++){
System.out.println("get:"+co.get(x));
}
}
}
复制代码
怎样才能打印出来不是内存地址。。。要实际name值和age值
作者:
刘蕴学
时间:
2012-3-12 00:58
本帖最后由 了无尘 于 2012-3-12 02:35 编辑
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/**
* 1、 定义一个Person对象,构造方法中定义私有属性name&age
* 2、 创建多个Person对象
* 3、 将多个Person对象存储到集合中,由于只做查询操作,因此采用ArrayList容器。
* 4、 使用ListIterator从ArrayList中将中的元素取出并打印。
* @author JiangChangHong
*
*/
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
public void show(){
System.out.println("name="+name+"\t"+"age="+age);
}
public String getShow()
{
return "name="+name+"\t"+"age="+age;
}
}
public class PersonDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person("Aaron",18);
Person p2 = new Person("Abbott",19);
Person p3 = new Person("Abel",20);
Person p4 = new Person("Abner",21);
Person p5 = new Person("Abraham",22);
Person p6 = new Person("Adair",23);
Person p7 = new Person("Adam",24);
Person p8 = new Person("Addison",25);
Person p9 = new Person("Adolph",26);
List co = new ArrayList();
co.add(p1);
co.add(p2);
co.add(p3);
co.add(p4);
co.add(p5);
co.add(p6);
co.add(p7);
co.add(p8);
co.add(p9);
//取出所有元素。迭代器.
for(ListIterator it = co.listIterator(); it.hasNext(); ){
System.out.println("next:"+((Person)it.next()).getShow());
}
//list集合特有的取出方式,通过角标遍历。
for(int x=0; x<co.size(); x++){
System.out.println("get:"+((Person)co.get(x)).getShow());
}
}
}
复制代码
当然为了简单点,我们一般都是重写Object类继承来的toString()方法,这样就不需要在强制转换了
作者:
王睿
时间:
2012-3-12 02:43
for(ListIterator it = co.listIterator(); it.hasNext(); ){
System.out.println("next:"+it.next()); //ti.next()是个对象
}
//list集合特有的取出方式,通过角标遍历。
for(int x=0; x<co.size(); x++){
System.out.println("get:"+co.get(x));//co.get(x)也是对象
复制代码
存进去的是person对象,所以迭代出来的也是对象,所以迭代完了要调用show()方法才能打印出来。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2